Thread (1 message) 1 message, 1 author, 2016-06-15
  • (off-list ancestor, not in this archive)
  • Re: A basic question · Dov Grobgeld <hidden> · 2016-06-15

Re: A basic question

From: Dov Grobgeld <hidden>
Date: 2016-06-15 22:55:00

The way you typically work with git (and with most other version
control systems) is that you have a fast changing trunk (in git often
called the master), where development is done. Once you want to
release you create a release branch off the trunk, and in that branch
you do regression testing and stability testing, and once you are
convinced that stability has been achieved, you make your release.

In parallel, and without in any way influencing your release branch,
your programmers happily commit to the trunk.

See e.g. the following excellent description of some workflow models:

http://nvie.com/posts/a-successful-git-branching-model/

Regards,
Dov

 On Thu, Oct 11, 2012 at 7:38 PM, Jim Vahl [off-list ref] wrote:
Drew,

Thanks for responding to my email!

Yes, I did read most of the Book, although I admit that I skimmed over some
of the more technical parts.  There is still a key part of how git is used
in a commercial environment which I don't understand.

When we release a new version of our product, it is comprised of over a
hundred files.  Some of these files have not changed for years, and some
have been revised/fixed/updated quite recently.  But what is key is that all
of these components have passed a review and testing process.  A very
important piece of information is what revision of each file made it into
the release.

I know that git takes snapshots of the repository as changes are made and
that it is possible to reconstruct the file set at any point in time.  But
unless rules or conventions are established, at any time the repository can
contain files which are in the process of being modified and thus have not
passed the testing process.  For the purpose of planning a release, we're
interested only in the "most recently tested and approved" files.

For the sake of argument, I'll assume that a committing a change implies
that the file has passed the testing process.  So my questions are:

1) Does git have a built-in way to get a list of all of the "most recently
committed" files only at a given point in time, thus automatically recording
the revisions of all of the component files of a release?   This implies
that for files which are being modified or which have been staged but not
committed, that git would go back to find the "predecessor" file which had
been committed.

 2) Does git have a way of creating and exporting a list of the "most
recently committed" files only?

3) If the answer to the above questions is "No", then what is the normal way
for a programming shop which is using git to extract/assemble the list of
approved files for building a release?

Thank you.

Jim Vahl

-----Original Message-----
From: Drew Northup [mailto:drew.northup@maine.edu]
Sent: Wednesday, October 10, 2012 12:37 PM
To: Jim Vahl
Cc: git@vger.kernel.org; 'Skot Davis'
Subject: Re: A basic question

On Wed, 2012-10-10 at 11:03 -0700, Jim Vahl wrote:
quoted
All,

Our company is researching version control software, something which
we have not used previously.  I have a very basic question about git
which I have not been able to answer from reading.  As I understand
it, a git repository can be a mixture of files which are under
development, staged or committed.
quoted
If we make a new build of our product we will obviously only want to
include the committed (tested) files.

The question is this: what is the usual procedure to retrieve a set of
committed  files only from the repository to place into a distribution
or "ready to build" folder.  The same question goes for tagging a
release: how does the user get the tag to reference the committed
files only and not the most recent files which may be under development or
undergoing testing.
quoted
Thanks,

Jim Vahl
Jim,
Have you looked at http://git-scm.com/book yet? It sounds to me like you
have some misconceptions about how Git works. (If so, did it leave you more
or less confused?)

--
-Drew Northup
________________________________________________
"As opposed to vegetable or mineral error?"
-John Pescatore, SANS NewsBites Vol. 12 Num. 59


--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help