Shawn O. Pearce ea5e370aa9 fast-import: Support reusing 'from' and brown paper bag fix reset.
It was suggested on the mailing list that being able to use `from`
in any commit to reset the current branch is useful in some types of
importers, such as a darcs importer.

We originally did not permit resetting an existing branch with a
new `from` command during a `commit` command, but this restriction
was only to help debug the hacked up cvs2svn that Jon Smirl was
developing in parallel with git-fast-import.  It is probably more
of a problem to disallow it than to allow it.  So now we permit a
`from` during any `commit`.

While making the changes required to permit multiple `from`
commands on the same branch, I discovered we no longer needed the
last_commit field to be set to 0 during a reset, so that was removed.
(Reset was originally setting the field to 0 to signal cmd_from()
that it was OK to execute on the branch.)

While poking around in this section of fast-import I also realized
the `reset` command was not working as intended if the corresponding
`from` command was omitted (as allowed by the BNF grammar and the
code).  If `from` was omitted we cleared out the tree but we left
the tree SHA-1 and parent commit SHA-1 intact.  This is not what
the user intended in this case.  Instead they would be trying to
reset the branch to have no parent and to have no tree, making the
branch look new-born during the next commit.  We now clear these
SHA-1 values during `reset`, ensuring the branch looks new-born if
`from` does not get supplied.

New test cases for these were also added.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
2007-02-12 12:17:31 -05:00
2007-02-11 19:55:22 -05:00
2007-02-11 23:04:00 -08:00
2007-02-06 01:09:32 -08:00
2007-02-03 21:49:54 -08:00
2007-02-03 21:49:54 -08:00
2007-02-03 21:49:54 -08:00
2007-02-06 21:33:20 -08:00
2007-01-22 16:25:15 -08:00
2007-02-06 01:52:04 -08:00
2007-02-03 21:49:54 -08:00
2007-02-08 15:35:24 -08:00
2007-01-21 21:29:57 -08:00
2007-02-08 15:35:24 -08:00
2007-02-08 15:35:24 -08:00
2006-05-01 22:29:16 -07:00
2007-02-08 17:48:22 -08:00
2006-11-21 20:55:39 -08:00
2005-12-27 10:49:25 -08:00
2005-10-14 17:17:27 -07:00
2007-02-03 21:49:54 -08:00
2007-01-20 18:57:47 -08:00
2006-05-15 12:32:13 -07:00
2006-12-29 11:01:31 -08:00
2006-03-05 02:47:29 -08:00
2007-01-31 13:09:58 -08:00
2006-02-06 21:43:27 -08:00
2007-02-03 21:49:54 -08:00
2007-02-03 21:49:54 -08:00
2007-02-08 15:23:52 -08:00
2007-01-18 14:22:24 -08:00
2007-01-30 21:03:11 -08:00
2007-02-07 14:31:46 -08:00
2006-09-27 23:59:09 -07:00
2007-02-11 12:42:01 -08:00
2006-06-26 14:58:41 -07:00
2007-02-06 21:33:20 -08:00
2006-09-14 11:48:11 -07:00
2006-08-31 16:24:39 -07:00
2007-01-11 16:47:34 -08:00
2007-01-17 12:03:50 -08:00
2007-02-08 17:48:22 -08:00
2007-02-03 11:57:18 -08:00
2007-01-30 02:30:25 -08:00
2007-02-05 14:55:11 -08:00
2006-03-05 02:47:29 -08:00
2006-10-20 16:50:36 -07:00
2005-11-02 16:50:58 -08:00
2006-03-25 16:35:43 -08:00
2006-10-26 18:31:17 -07:00

////////////////////////////////////////////////////////////////

	GIT - the stupid content tracker

////////////////////////////////////////////////////////////////

"git" can mean anything, depending on your mood.

 - random three-letter combination that is pronounceable, and not
   actually used by any common UNIX command.  The fact that it is a
   mispronunciation of "get" may or may not be relevant.
 - stupid. contemptible and despicable. simple. Take your pick from the
   dictionary of slang.
 - "global information tracker": you're in a good mood, and it actually
   works for you. Angels sing, and a light suddenly fills the room.
 - "goddamn idiotic truckload of sh*t": when it breaks

Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

Git is an Open Source project covered by the GNU General Public License.
It was originally written by Linus Torvalds with help of a group of
hackers around the net. It is currently maintained by Junio C Hamano.

Please read the file INSTALL for installation instructions.
See Documentation/tutorial.txt to get started, then see
Documentation/everyday.txt for a useful minimum set of commands,
and "man git-commandname" for documentation of each command.
CVS users may also want to read Documentation/cvs-migration.txt.

Many Git online resources are accessible from http://git.or.cz/
including full documentation and Git related tools.

The user discussion and development of Git take place on the Git
mailing list -- everyone is welcome to post bug reports, feature
requests, comments and patches to git@vger.kernel.org. To subscribe
to the list, send an email with just "subscribe git" in the body to
majordomo@vger.kernel.org. The mailing list archives are available at
http://marc.theaimsgroup.com/?l=git and other archival sites.
Description
No description provided
Readme 279 MiB
Languages
C 50.5%
Shell 38.7%
Perl 4.5%
Tcl 3.2%
Python 0.8%
Other 2.1%