fast-export/fast-export-unix-compliant.git
11 years agoMerge pull request #5 from living180/mastermaster
frej [Fri, 1 Jun 2012 15:05:31 +0000 (1 08:05 -0700)]
Merge pull request #5 from living180/master

Make hg-fast-export work on Windows

11 years agoMake hg-fast-export work on Windows
Daniel Harding [Wed, 21 Mar 2012 23:16:11 +0000 (21 23:16 +0000)]
Make hg-fast-export work on Windows

* use sys.stdout.write instead of print to avoid end-of-line issues
* use os.devnull instead of hard-coding /dev/null

11 years agoMerge pull request #4 from aried3r/master
frej [Sun, 20 May 2012 17:31:40 +0000 (20 10:31 -0700)]
Merge pull request #4 from aried3r/master

Fixed a bug related to sanitizing branch names.

11 years agoApplied rule #7 of git-check-ref-format
Anton Rieder [Wed, 16 May 2012 21:44:00 +0000 (16 23:44 +0200)]
Applied rule #7 of git-check-ref-format

Rule #7 of git-check-ref-format states "7. They cannot end with a dot
'.'." which was not yet implemented in fast-export. This commit fixes
this.

12 years agoUpdate documentation: The tool is no longer called hg-fast-import
Frej Drejhammar [Fri, 27 Jan 2012 19:06:07 +0000 (27 20:06 +0100)]
Update documentation: The tool is no longer called hg-fast-import

12 years agoMention the author map file in the readme
Frej Drejhammar [Fri, 27 Jan 2012 19:02:54 +0000 (27 20:02 +0100)]
Mention the author map file in the readme

12 years agoAdd usage info for the --force option
David Wragg [Mon, 23 Jan 2012 16:17:44 +0000 (23 16:17 +0000)]
Add usage info for the --force option

12 years agoCommits with no parent need a reset command.
Barry Wardell [Mon, 5 Dec 2011 23:13:57 +0000 (5 23:13 +0000)]
Commits with no parent need a reset command.

This fixes a problem where a repository is imported incorrectly when there is a merge
between two branches with no common history.

12 years agoSupport the case where the author field has an empty email address, i.e. it is of...
Barry Wardell [Wed, 23 Nov 2011 22:12:52 +0000 (23 22:12 +0000)]
Support the case where the author field has an empty email address, i.e. it is of the form 'name <>'.

12 years agoUse hg methods to extract name and email when doing user fixup
Paul O’Shannessy [Tue, 18 Oct 2011 23:20:54 +0000 (18 16:20 -0700)]
Use hg methods to extract name and email when doing user fixup

12 years agohg-fast-export.sh should fail if git-fast-import fails
David Wragg [Mon, 13 Jun 2011 12:05:47 +0000 (13 13:05 +0100)]
hg-fast-export.sh should fail if git-fast-import fails

Previously, git-fast-import could fail, and exit with a non-zero status.
But the exit status of hg-fast-export.sh would not reflect this.

12 years agoSupport passing --force to git-fast-import
David Wragg [Wed, 17 Nov 2010 00:32:12 +0000 (17 00:32 +0000)]
Support passing --force to git-fast-import

13 years agoRemove \" from the user string before trying to extract name and email
Frej Drejhammar [Fri, 18 Mar 2011 18:12:45 +0000 (18 19:12 +0100)]
Remove \" from the user string before trying to extract name and email

Signed-off-by: Frej Drejhammar <frej.drejhammar@gmail.com>
Reported-by: Cole Robinson <crobinso@redhat.com>
Thank's to Cole Robinson for reporting the bug and providing a fix
which was adapted to this patch.

The original bug report:

I was recently converting a few mercurial repositories to git, and
noticed certain commits had their date reset to Jan 1 1970.

An example repo:

http://hg.fedorahosted.org/hg/virt-manager

An example commit:

http://hg.fedorahosted.org/hg/virt-manager/rev/41182500ddef

After some poking, it seems the culprit was that the "author:" was
surrounded by quotation marks

13 years agoThe "verifying branch" message is not very interesting
David Wragg [Mon, 20 Sep 2010 09:58:18 +0000 (20 10:58 +0100)]
The "verifying branch" message is not very interesting

Particularly if the repo has hundreds of branches.

13 years agoSimplify handling of parents of exported commit
David Wragg [Mon, 20 Sep 2010 09:55:24 +0000 (20 10:55 +0100)]
Simplify handling of parents of exported commit

The previous code did an awful lot of work to infer the parents of an
exported commit, incorporating information from many sources.  But
there were multiple bugs in this scheme, sometimes resulting in merge
commits with two parents pointing to the same commit object.

Instead, use a much more straightforward process of mapping the
parents stored in hg.

14 years agoMaintain backwards compatibility for ui setup
Rocco Rutte [Mon, 25 May 2009 13:17:33 +0000 (25 15:17 +0200)]
Maintain backwards compatibility for ui setup

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
14 years agoUpdate to work with mercurial ui refactorings
Rocco Rutte [Thu, 14 May 2009 12:53:42 +0000 (14 14:53 +0200)]
Update to work with mercurial ui refactorings

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
15 years agohg-fast-export: Compare HG revisions when merging
Matthias Urlichs [Sun, 16 Nov 2008 14:43:44 +0000 (16 15:43 +0100)]
hg-fast-export: Compare HG revisions when merging

hg-fast-export uses hg's branch order (from the log) when merging,
this is a problem. Consider the case:

HG repo A  has revisions 1-10. Repository B is cloned from that.
Subsequently, A adds revision 11, and B adds a different change which
also has revision 11. If B now pulls from A, A's rev11 will have the
number 12; if A then pulls from B, the reverse also holds. So the logs
are different even though they contain the exact same changes.

hg-fast-export will thus create different git repositories for A and B,
even though the contents are identical for all practical purposes.
In particular, the repos would be identical if A and B had used git from
the beginning.

To fix that, compare HG revisions instead of log positions.

15 years agohg-fast-export: Support branches without parents
Rocco Rutte [Tue, 27 Jan 2009 14:34:46 +0000 (27 15:34 +0100)]
hg-fast-export: Support branches without parents

Previously we fed the full revision only for the first one and deltas
for all following including branches being forked off. This doesn't work
with branches that are forked from revision 0. In case such a branch is
found, we now also feed the full revision.

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
15 years agohg-fast-export: Point out that only local repos are supported
Frej Drejhammar [Fri, 16 Jan 2009 19:09:52 +0000 (16 20:09 +0100)]
hg-fast-export: Point out that only local repos are supported

Signed-off-by: Frej Drejhammar <frej.drejhammar@gmail.com>
15 years agohg-fast-export: Update todo now that tag movement is supported
Rocco Rutte [Tue, 30 Dec 2008 20:52:32 +0000 (30 21:52 +0100)]
hg-fast-export: Update todo now that tag movement is supported

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
15 years agoMerge branch 'from-jmcmullan' into develop
Frej Drejhammar [Sat, 20 Dec 2008 18:57:39 +0000 (20 19:57 +0100)]
Merge branch 'from-jmcmullan' into develop

Conflicts:
hg-fast-export.py

15 years agohg-fast-export: add option to track remote branches under a custom namespace
Fabrizio Chiarello [Fri, 19 Sep 2008 16:31:53 +0000 (19 18:31 +0200)]
hg-fast-export: add option to track remote branches under a custom namespace

Add -o, --origin <name> to allow user to set a namespace used
when importing remote branches.

Signed-off-by: Fabrizio Chiarello <ponch@autistici.org>
15 years agohg export: Support tag movement
Jason S. McMullan [Thu, 11 Dec 2008 14:05:05 +0000 (11 09:05 -0500)]
hg export: Support tag movement

HG tag movement is now supported with this patch.

This patch creates a .git/hg2git-mapping file, which maps
HG revision numbers to HG hashes. Combined with the
.git/hg2git-marks file, which maps HG revisions to GIT hashes,
we can now reprocess all tags at the end of each hg export
operation.

15 years agohg2git: Update copyrights and maintainership information.
Rocco Rutte [Tue, 25 Nov 2008 10:25:22 +0000 (25 11:25 +0100)]
hg2git: Update copyrights and maintainership information.

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
15 years agohg-fast-export: Make default branch customizable
Fabrizio Chiarello [Thu, 18 Sep 2008 19:10:16 +0000 (18 21:10 +0200)]
hg-fast-export: Make default branch customizable

Add -M, --default-branch <branch_name> to allow user to set
the default branch where to pull into

Signed-off-by: Fabrizio Chiarello <ponch@autistici.org>
15 years agohg-fast-export: Catch up with mercurial crew API changes
Rocco Rutte [Fri, 19 Sep 2008 06:01:53 +0000 (19 08:01 +0200)]
hg-fast-export: Catch up with mercurial crew API changes

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
15 years agohg-fast-export.py: Use appropriate file mode for symlinks.
Peter Colberg [Sun, 17 Aug 2008 12:11:53 +0000 (17 14:11 +0200)]
hg-fast-export.py: Use appropriate file mode for symlinks.

15 years agohg-fast-export: work still if git-commands are not in PATH
Jonathan Nieder [Fri, 18 Jul 2008 06:32:37 +0000 (18 01:32 -0500)]
hg-fast-export: work still if git-commands are not in PATH

In git 1.6.0, most git tools with a dash in the name will no
longer be installed in $bindir.  This patch makes hg-fast-export
use the "git <command>" form so it will work even if "git" is
the only piece of git machinery in the user's PATH.

On the other hand, the "git <command>" form does not help for
sourcing a shell script (with ".").  So use the full path to
source "git-sh-setup".

Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
15 years agoRevert "hg2git: Replaces space with "_" in branches name"
Rocco Rutte [Tue, 3 Jun 2008 11:53:08 +0000 (3 13:53 +0200)]
Revert "hg2git: Replaces space with "_" in branches name"

The get_branch() function's purpose is to detect whether a mercurial
branch name actually should be considered the default branch.

Sanitizing branch and tag names for git is done in sanitize_name().

Noted by Jonathan Nieder.

This reverts commit cdfdae36c8a73fb257eceff33b03d2f320bafc6b.

15 years agohg-fast-export.py: sanitize tildes (~) in branch names
Jonathan Nieder [Mon, 2 Jun 2008 18:23:48 +0000 (2 13:23 -0500)]
hg-fast-export.py: sanitize tildes (~) in branch names

In git-check-ref-format (1), there is the following rule for refnames:

3. It cannot have ASCII control character (i.e. bytes
   whose values are lower than \040, or \177 DEL), space,
   tilde ~, caret ^, colon :, question-mark ?, asterisk *,
   or open bracket [ anywhere;

and indeed, this rule is enforced by "git fast-import". hg-fast-export
already checked for all of the visible characters listed except for ~
and converted them to underscores. For some reason the tilde was
forgotten. This patch makes good on the omission.

Note that control characters are still left alone.

Signed-off-by: Jonathan Nieder <jrnieder@uchicago.edu>
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
15 years agoClarify where 'HEAD' branch name comes from
Rocco Rutte [Fri, 30 May 2008 11:44:07 +0000 (30 13:44 +0200)]
Clarify where 'HEAD' branch name comes from

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
15 years agohg2git: Replaces space with "_" in branches name
Felipe Zimmerle [Fri, 30 May 2008 11:41:56 +0000 (30 13:41 +0200)]
hg2git: Replaces space with "_" in branches name

Since space doesn't conform to GIT branches name standards,
it should be replaced or with another character.

Signed-off-by: Felipe Zimmerle <felipe.zimmerle@indt.org.br>
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg-fast-export.py: Cache possibly sanitized branch names
Rocco Rutte [Fri, 26 Oct 2007 15:11:57 +0000 (26 17:11 +0200)]
hg-fast-export.py: Cache possibly sanitized branch names

...instead of doing it for every single commit.

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agoMerge branch 'fixes'
Rocco Rutte [Fri, 26 Oct 2007 14:29:18 +0000 (26 14:29 +0000)]
Merge branch 'fixes'

* fixes:
  hg-fast-import.py: Sanitize ref names
  hg-fast-export.py: Don't attempt to dump revs beyond tip with -m
  hg-fast-export.py: Minor tweaks/cleanup

16 years agohg-fast-import.py: Sanitize ref names
Rocco Rutte [Fri, 26 Oct 2007 14:06:40 +0000 (26 16:06 +0200)]
hg-fast-import.py: Sanitize ref names

At least the opensolaris hg repo has tag names containing '*',
so sanitize all branch and tag names roughly according to the
specs for git-check-ref-format(1).

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg-fast-export.py: Don't attempt to dump revs beyond tip with -m
Rocco Rutte [Thu, 25 Oct 2007 13:23:17 +0000 (25 15:23 +0200)]
hg-fast-export.py: Don't attempt to dump revs beyond tip with -m

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg-fast-export.py: Minor tweaks/cleanup
Rocco Rutte [Thu, 25 Oct 2007 13:21:46 +0000 (25 15:21 +0200)]
hg-fast-export.py: Minor tweaks/cleanup

Remove some unused variables, generalize dictionary-splitting and make
sure we don't sort filename lists twice (repo.status returns files
sorted already).

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agoFix shell substitution typo
Rocco Rutte [Mon, 22 Oct 2007 08:28:41 +0000 (22 08:28 +0000)]
Fix shell substitution typo

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg-reset.py: Use mangle_key() for load_cache() as hg-fast-export.py does
Rocco Rutte [Mon, 22 Oct 2007 08:28:18 +0000 (22 08:28 +0000)]
hg-reset.py: Use mangle_key() for load_cache() as hg-fast-export.py does

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg-fast-export.py: Rewrite merge logic
Rocco Rutte [Mon, 22 Oct 2007 08:06:58 +0000 (22 10:06 +0200)]
hg-fast-export.py: Rewrite merge logic

Merges were completely broken as they ended up with twice the same
parent in git. Still everything besides gitk seemed to work.

This because of 1) the incorrect assumption that a commit's parent is
the commit exported right before it and 2) some confusion with markes
being saved/loaded/used since git-fast-import doesn't allow for a ":0"
mark to map hg revision 1:1 to marks.

The merge "algorithm" now works like this:

1) If the commit's higher parent (highest hg rev), is not the last
commit exported for a particular branch, we issue a "from" command to
place it on top of it.

2) If the commit's lower parent exists, we issue a "merge" for it.

This is much simpler and seems to produce correct merges in git. And
while I'm at it, make output less confusing by prepending the target
branch name to each line.

The "twice the same parent" bug was discovered by Michele Ballabio on
the git list.

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg2git.py: Allow consumers to modify keys of dicts returned by load_cache()
Rocco Rutte [Mon, 22 Oct 2007 07:50:52 +0000 (22 09:50 +0200)]
hg2git.py: Allow consumers to modify keys of dicts returned by load_cache()

By default, the key is not changed. This will allow us for fixing up the
off-by-one issue with marks restored using load_cache().

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg2git.py: Use git-rev-parse to get SHA1s instead of reading files below refs/ directly
Rocco Rutte [Mon, 22 Oct 2007 07:48:48 +0000 (22 09:48 +0200)]
hg2git.py: Use git-rev-parse to get SHA1s instead of reading files below refs/ directly

This should now also properly support packed refs.

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agohg2git.py: Map 'HEAD', 'default' and '' hg branches to 'master' in git
Rocco Rutte [Mon, 22 Oct 2007 07:44:12 +0000 (22 09:44 +0200)]
hg2git.py: Map 'HEAD', 'default' and '' hg branches to 'master' in git

Also add a note where HEAD is comming from.

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agoAllow for $PYTHON environment variable specifying python binary to use
Rocco Rutte [Mon, 22 Oct 2007 07:34:40 +0000 (22 09:34 +0200)]
Allow for $PYTHON environment variable specifying python binary to use

Signed-off-by: Rocco Rutte <pdmef@gmx.net>
16 years agoThis prevents invalid command errors caused by bytes not being flushed to
Scott Lamb [Mon, 16 Jul 2007 08:31:00 +0000 (16 01:31 -0700)]
This prevents invalid command errors caused by bytes not being flushed to
git-fastimport in the same order as they were written to the buffer.

Signed-off-by: Scott Lamb <slamb@slamb.org>
16 years agoRemoved git-p4 from fast-export. It has been moved to git.git:contrib/fast-import.
Simon Hausmann [Mon, 25 Jun 2007 08:34:20 +0000 (25 10:34 +0200)]
Removed git-p4 from fast-export. It has been moved to git.git:contrib/fast-import.

Signed-off-by: Simon Hausmann <shausman@trolltech.com>
16 years agoMake it possible to specify the HEAD for the internal findUpstreamBranchPoint function.
Simon Hausmann [Thu, 21 Jun 2007 22:01:57 +0000 (22 00:01 +0200)]
Make it possible to specify the HEAD for the internal findUpstreamBranchPoint function.

This isn't used right now in git-p4 but I use it in an external script that loads git-p4 as module.

Signed-off-by: Simon Hausmann <shausman@trolltech.com>
16 years agoAdded git-p4 branches command that shows the mapping of perforce depot paths to impor...
Simon Hausmann [Wed, 20 Jun 2007 21:10:28 +0000 (20 23:10 +0200)]
Added git-p4 branches command that shows the mapping of perforce depot paths to imported git branches.

Signed-off-by: Simon Hausmann <simon@lst.de>
16 years agoWarn about conflicting p4 branch mappings and use the first one found.
Simon Hausmann [Sun, 17 Jun 2007 13:10:24 +0000 (17 15:10 +0200)]
Warn about conflicting p4 branch mappings and use the first one found.

Signed-off-by: Simon Hausmann <simon@lst.de>
16 years agoFix the branch mapping detection to be independent from the order of the "p4 branches...
Simon Hausmann [Sun, 17 Jun 2007 09:25:34 +0000 (17 11:25 +0200)]
Fix the branch mapping detection to be independent from the order of the "p4 branches" output.

Collect "unknown" source branches separately and register them at the end.

Also added a minor speed up to splitFilesIntoBranches by breaking out of the loop through all branches when it's safe.

Signed-off-by: Simon Hausmann <simon@lst.de>
16 years agogit-p4 fails when cloning a p4 depo.
Benjamin Sergeant [Fri, 8 Jun 2007 18:13:55 +0000 (8 11:13 -0700)]
git-p4 fails when cloning a p4 depo.

A perforce command with all the files in the repo is generated to get
all the file content.
Here is a patch to break it into multiple successive perforce command
who uses 4K of parameter max, and collect the output for later.

It works, but not for big depos, because the whole perforce depo
content is stored in memory in P4Sync.run(), and it looks like mine is
bigger than 2 Gigs, so I had to kill the process.

[Simon: I added the bit about using SC_ARG_MAX, as suggested by Han-Wen]

Signed-off-by: Benjamin Sergeant <bsergean@gmail.com>
Signed-off-by: Simon Hausmann <simon@lst.de>
16 years agoFix initial multi-branch import.
Simon Hausmann [Sat, 16 Jun 2007 11:09:21 +0000 (16 13:09 +0200)]
Fix initial multi-branch import.

The list of existing p4 branches in git wasn't initialized.

16 years agoOnly use double quotes on Windows
Marius Storm-Olsen [Tue, 12 Jun 2007 13:27:52 +0000 (12 15:27 +0200)]
Only use double quotes on Windows

16 years agoFix git-p4 rebase to detect the correct upstream branch instead of unconditionally
Simon Hausmann [Tue, 12 Jun 2007 12:34:46 +0000 (12 14:34 +0200)]
Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally
always rebasing on top of remotes/p4/master

16 years agoMoved the code from git-p4 submit to figure out the upstream branch point
Simon Hausmann [Tue, 12 Jun 2007 12:31:59 +0000 (12 14:31 +0200)]
Moved the code from git-p4 submit to figure out the upstream branch point
into a separate helper method.

16 years agogit-p4 submit: Fix missing quotes around p4 commands to make them work with spaces...
Simon Hausmann [Mon, 11 Jun 2007 21:40:25 +0000 (11 23:40 +0200)]
git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames

Noticed by Alex Riesen

16 years agoMention remotes/p4/master also in the documentation.
Simon Hausmann [Mon, 11 Jun 2007 21:30:23 +0000 (11 23:30 +0200)]
Mention remotes/p4/master also in the documentation.

16 years agoProvide some information for single branch imports where the commits go
Simon Hausmann [Mon, 11 Jun 2007 21:28:03 +0000 (11 23:28 +0200)]
Provide some information for single branch imports where the commits go

16 years agogit-p4: check for existence of repo dir before trying to create
Kevin Green [Mon, 11 Jun 2007 20:48:07 +0000 (11 16:48 -0400)]
git-p4: check for existence of repo dir before trying to create

When using git-p4 in this manner:

git-p4 clone //depot/path/project myproject

If "myproject" already exists as a dir, but not a valid git repo, it fails
to create the directory.

Signed-off-by: Kevin Green <Kevin.Green@morganstanley.com>
16 years agoWrite out the options tag in the log message of imports only if we actually have
Simon Hausmann [Mon, 11 Jun 2007 08:01:58 +0000 (11 10:01 +0200)]
Write out the options tag in the log message of imports only if we actually have
options

16 years agoFix support for explicit disabling of syncing with the origin
Simon Hausmann [Mon, 11 Jun 2007 07:59:27 +0000 (11 09:59 +0200)]
Fix support for explicit disabling of syncing with the origin

16 years agoFix depot-paths encoding for multi-path imports (don't split up //depot/path/foo)
Simon Hausmann [Mon, 11 Jun 2007 06:54:45 +0000 (11 08:54 +0200)]
Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo)

16 years agoFix project name guessing
Simon Hausmann [Mon, 11 Jun 2007 06:50:57 +0000 (11 08:50 +0200)]
Fix project name guessing

16 years agoFix updating/creating remotes/p4/* heads from origin/p4/*
Simon Hausmann [Sun, 10 Jun 2007 08:57:40 +0000 (10 10:57 +0200)]
Fix updating/creating remotes/p4/* heads from origin/p4/*

16 years agoFixed the check to make sure to exclude the HEAD symbolic refs when updating
Simon Hausmann [Sat, 9 Jun 2007 22:22:30 +0000 (10 00:22 +0200)]
Fixed the check to make sure to exclude the HEAD symbolic refs when updating
the remotes/p4 branches from origin.

16 years agoalso strip p4/ from local imports.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
also strip p4/ from local imports.

16 years agoMerge branch 'master' of git://repo.or.cz/fast-export
Han-Wen Nienhuys [Fri, 8 Jun 2007 21:19:23 +0000 (8 18:19 -0300)]
Merge branch 'master' of git://repo.or.cz/fast-export

16 years agoprint error message when p4 print fails (eg. due to permission problems)
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
print error message when p4 print fails (eg. due to permission problems)

16 years agoOnly get the expensive branch mapping from the p4 server when not
Simon Hausmann [Fri, 8 Jun 2007 06:49:22 +0000 (8 08:49 +0200)]
Only get the expensive branch mapping from the p4 server when not
syncing with the help of an origin remote (which we instead then use
to get new branches from).

16 years agoMake git-p4 submit detect the correct reference (origin) branch when
Simon Hausmann [Thu, 7 Jun 2007 20:54:32 +0000 (7 22:54 +0200)]
Make git-p4 submit detect the correct reference (origin) branch when
working with multi-branch imports.

Signed-off-by: Simon Hausmann <simon@lst.de>
16 years agoMake clone behave like git clone by default again.
Simon Hausmann [Thu, 7 Jun 2007 19:12:25 +0000 (7 21:12 +0200)]
Make clone behave like git clone by default again.

Signed-off-by: Simon Hausmann <simon@lst.de>
16 years agoExclude the HEAD symbolic ref from the list of known branches
Marius Storm-Olsen [Thu, 7 Jun 2007 13:28:04 +0000 (7 15:28 +0200)]
Exclude the HEAD symbolic ref from the list of known branches

16 years agoFix single branch import into remotes
Marius Storm-Olsen [Thu, 7 Jun 2007 13:13:59 +0000 (7 15:13 +0200)]
Fix single branch import into remotes

16 years agoFix git-p4 clone (defaultDestination)
Marius Storm-Olsen [Thu, 7 Jun 2007 13:08:33 +0000 (7 15:08 +0200)]
Fix git-p4 clone (defaultDestination)

16 years agoEnsure that the commit message is Windows formated (CRLF) before invoking the editor.
Marius Storm-Olsen [Thu, 7 Jun 2007 12:07:01 +0000 (7 14:07 +0200)]
Ensure that the commit message is Windows formated (CRLF) before invoking the editor.

(The default editor on Windows (Notepad) doesn't handle Unix line endings)

Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
16 years agoFix depot-path determination for git-p4 submit
Simon Hausmann [Thu, 7 Jun 2007 11:10:20 +0000 (7 13:10 +0200)]
Fix depot-path determination for git-p4 submit

16 years agoFix git-p4 submit
Simon Hausmann [Thu, 7 Jun 2007 11:09:14 +0000 (7 13:09 +0200)]
Fix git-p4 submit

16 years agoFix git-p4 rebase
Simon Hausmann [Thu, 7 Jun 2007 10:51:03 +0000 (7 12:51 +0200)]
Fix git-p4 rebase

16 years agoHack to make the multi-branch import work again with self.depotPaths now that
Simon Hausmann [Thu, 7 Jun 2007 07:41:53 +0000 (7 09:41 +0200)]
Hack to make the multi-branch import work again with self.depotPaths now that
self.depotPath is gone

16 years agoDon't attempt to set the initialParent on multi-branch imports (useless).
Simon Hausmann [Thu, 7 Jun 2007 07:39:51 +0000 (7 09:39 +0200)]
Don't attempt to set the initialParent on multi-branch imports (useless).
At some point the code paths should be unified, but for now I need a working
git-p4 :)

16 years agoFix common path "calculation" from logs of multiple branches.
Simon Hausmann [Thu, 7 Jun 2007 07:37:13 +0000 (7 09:37 +0200)]
Fix common path "calculation" from logs of multiple branches.
Need to use min instead of max for prev/cur to avoid out-of-bounds
string access. Also treat "i" as index of the last match instead of
a length because in case of a complete match of the two strings
i was off by one.

16 years agoFix support for "depot-path" in older git-p4 imports
Simon Hausmann [Thu, 7 Jun 2007 07:19:34 +0000 (7 09:19 +0200)]
Fix support for "depot-path" in older git-p4 imports

16 years agolook for 'text' and 'binary' files.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
look for 'text' and 'binary' files.

16 years agothinko: really ignore deleted files.hanwenorigin/hanwen
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
thinko: really ignore deleted files.

16 years agoremove debug print
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
remove debug print

16 years agoCleanups & import into p4/master for local import
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
Cleanups & import into p4/master for local import

- import into master/local if --import-local is set

- use Die() for exiting

- if --verbose is set, raise Exception()

- use joined strings iso. `list` for progress printing

16 years agouse p4CmdList() to get file contents in Python dicts. This is more robust.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
use p4CmdList() to get file contents in Python dicts. This is more robust.

16 years agoonly run p4 print if necessary
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
only run p4 print if necessary

16 years agodon't p4 print deleted files.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
don't p4 print deleted files.

16 years agoread files before creating the commit.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
read files before creating the commit.

16 years agothinko.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
thinko.

16 years agostore p4 user cache in home directory.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
store p4 user cache in home directory.

16 years agoThinko, fix buglet.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
Thinko, fix buglet.

16 years agoRead p4 files in one batch.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
Read p4 files in one batch.

16 years agoremove global .gitdir
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
remove global .gitdir

16 years agoMerge origin.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
Merge origin.

16 years agoDiverse cleanups
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (23 18:49 -0300)]
Diverse cleanups

- print commands with \n

- extractDepotPathsAndChangeFromGitLog -> extractSettings, returning
dict.

- store keepRepoPath in [git-p4: ] line

- create a main() function, so git-p4 can be pychecked

- use --destination for clone destination. This simplifies logic
for --keep-path

16 years agoFix typo in listExistingP4Branches that broke sync.
Simon Hausmann [Mon, 28 May 2007 17:24:57 +0000 (28 19:24 +0200)]
Fix typo in listExistingP4Branches that broke sync.

16 years agoIn *_pipe print the command that failed if it fails.
Simon Hausmann [Mon, 28 May 2007 17:23:19 +0000 (28 19:23 +0200)]
In *_pipe print the command that failed if it fails.
Fixed old calls to mypopen.