Simon Hausmann [Sat, 14 Apr 2007 14:09:43 +0000 (16:09 +0200)]
Slightly improved formatting of the raw_input questions.
Simon Hausmann [Sat, 14 Apr 2007 14:05:54 +0000 (16:05 +0200)]
Removed the old patch apply code from git-p4 submit.
Simon Hausmann [Sat, 14 Apr 2007 09:21:50 +0000 (11:21 +0200)]
Fix the timezone formatting. Now qgit also displays (parses) it correctly.
Simon Hausmann [Fri, 13 Apr 2007 20:21:10 +0000 (22:21 +0200)]
Print an error message of some sort if git fast-import fails.
Simon Hausmann [Mon, 9 Apr 2007 10:43:40 +0000 (12:43 +0200)]
Allow for convenient rebasing after git-p4 submit
Simon Hausmann [Sun, 8 Apr 2007 08:21:56 +0000 (10:21 +0200)]
Added a simple example of usage to the "documentation" :)
Simon Hausmann [Sun, 8 Apr 2007 08:15:47 +0000 (10:15 +0200)]
fix variable usage (oops)
Simon Hausmann [Sun, 8 Apr 2007 08:13:32 +0000 (10:13 +0200)]
Fix file determination for #head imports
Simon Hausmann [Sun, 8 Apr 2007 08:08:26 +0000 (10:08 +0200)]
Added git-p4 clone convenience command
Simon Hausmann [Sun, 8 Apr 2007 07:00:55 +0000 (09:00 +0200)]
Honor --silent for labels
Simon Hausmann [Sat, 7 Apr 2007 22:12:02 +0000 (00:12 +0200)]
Turn off potentially slow label detection by default
Simon Hausmann [Sat, 7 Apr 2007 22:07:02 +0000 (00:07 +0200)]
Provide a tree summary after git-p4 rebase
Simon Hausmann [Sat, 7 Apr 2007 21:46:50 +0000 (23:46 +0200)]
Added git-p4 rebase convenience
Simon Hausmann [Sun, 1 Apr 2007 13:40:46 +0000 (15:40 +0200)]
Minor cleanup
Simon Hausmann [Sun, 1 Apr 2007 11:39:39 +0000 (13:39 +0200)]
Fix "compilation" :)
Simon Hausmann [Thu, 29 Mar 2007 17:15:24 +0000 (19:15 +0200)]
Fix the docs for git-p4 submit and turn git-p4 submit --master=foo into
simply git-p4 submit mytopicbranch.
Simon Hausmann [Wed, 28 Mar 2007 15:05:38 +0000 (17:05 +0200)]
Fix variable usage in tag import
Simon Hausmann [Mon, 26 Mar 2007 20:34:34 +0000 (22:34 +0200)]
Added support for mapping p4 labels to git tags
Simon Hausmann [Mon, 26 Mar 2007 06:18:55 +0000 (08:18 +0200)]
git-p4 debug doesn't need a git repository
Simon Hausmann [Sun, 25 Mar 2007 22:13:51 +0000 (00:13 +0200)]
Don't try to parse any options with git-p4 debug but pass it straight on to p4
Simon Hausmann [Sat, 24 Mar 2007 15:35:05 +0000 (16:35 +0100)]
Prefer git command over git-command.
Simon Hausmann [Sat, 24 Mar 2007 08:18:20 +0000 (09:18 +0100)]
Minor cosmetic fixlet ;-)
Simon Hausmann [Sat, 24 Mar 2007 08:15:11 +0000 (09:15 +0100)]
Different versions of p4 have different output for the where command ;(
Simon Hausmann [Fri, 23 Mar 2007 08:30:41 +0000 (09:30 +0100)]
Use the new incremental import style by default
Simon Hausmann [Fri, 23 Mar 2007 08:16:07 +0000 (09:16 +0100)]
Make it possible to run git-p4 submit from within the git repository
Simon Hausmann [Thu, 22 Mar 2007 21:17:42 +0000 (22:17 +0100)]
Brand new smart incremental import that doesn't need tags or git repo-config :)
Simon Hausmann [Thu, 22 Mar 2007 20:34:16 +0000 (21:34 +0100)]
Set the default branch in run, not in the constructor
Simon Hausmann [Thu, 22 Mar 2007 20:27:14 +0000 (21:27 +0100)]
Helper function to check the existance of a revision
Simon Hausmann [Thu, 22 Mar 2007 20:10:25 +0000 (21:10 +0100)]
Added some helper function(s) to parse the depot path and change number from the log message
Simon Hausmann [Thu, 22 Mar 2007 19:36:28 +0000 (20:36 +0100)]
Changed the default branch for imports from "master" to "p4"
Simon Hausmann [Thu, 22 Mar 2007 19:27:41 +0000 (20:27 +0100)]
Changed the format of the imported log message slightly, so that it's easier to parse again.
Simon Hausmann [Thu, 22 Mar 2007 08:13:01 +0000 (09:13 +0100)]
Get rid of the ugly .py extensions - in everyday usage the .py is annoying :)
Simon Hausmann [Wed, 21 Mar 2007 20:04:12 +0000 (21:04 +0100)]
Don't show the submit template and the diff first in less but show it in $editor right away
Simon Hausmann [Wed, 21 Mar 2007 12:05:30 +0000 (13:05 +0100)]
Allow invocations from within a git working tree
Simon Hausmann [Wed, 21 Mar 2007 10:01:18 +0000 (11:01 +0100)]
I'm feeling adventurous :), make --apply-as-patch the new default because it's sooo much faster.
Simon Hausmann [Wed, 21 Mar 2007 09:57:54 +0000 (10:57 +0100)]
This should make --apply-as-patch work with deletions (fingers crossed :)
Simon Hausmann [Wed, 21 Mar 2007 09:11:20 +0000 (10:11 +0100)]
Added experimental but super-fast --apply-as-patch option to git-p4 submit
Simon Hausmann [Wed, 21 Mar 2007 07:27:33 +0000 (08:27 +0100)]
Some more docs
Simon Hausmann [Tue, 20 Mar 2007 21:41:00 +0000 (22:41 +0100)]
Some docs :)
Simon Hausmann [Tue, 20 Mar 2007 21:09:27 +0000 (22:09 +0100)]
These two scripts have been migrated into git-p4.py now
Simon Hausmann [Tue, 20 Mar 2007 20:13:49 +0000 (21:13 +0100)]
Fixed the initial versioned import
Simon Hausmann [Tue, 20 Mar 2007 19:59:30 +0000 (20:59 +0100)]
Fixed some obvious of missing "self"s :)
Simon Hausmann [Tue, 20 Mar 2007 19:54:23 +0000 (20:54 +0100)]
Completely untested "merge" of p4-fast-export.py into git-p4.py
Simon Hausmann [Tue, 20 Mar 2007 17:32:47 +0000 (18:32 +0100)]
sync-to-perforce is now called submit and fixed the gitdir check a little bit
Simon Hausmann [Mon, 19 Mar 2007 21:26:36 +0000 (22:26 +0100)]
Credit where credit is due. Added Trolltech ASA.
Simon Hausmann [Mon, 19 Mar 2007 21:25:17 +0000 (22:25 +0100)]
First (untested) attempt at migrating p4-git-sync into the final git-p4 script
Simon Hausmann [Mon, 19 Mar 2007 20:02:30 +0000 (21:02 +0100)]
Provide a tiny little bit of help
Simon Hausmann [Mon, 19 Mar 2007 19:59:12 +0000 (20:59 +0100)]
Start moving the git-p4 tools into one single script.
Simon Hausmann [Mon, 19 Mar 2007 11:04:37 +0000 (12:04 +0100)]
Make it work again
Simon Hausmann [Mon, 19 Mar 2007 10:57:07 +0000 (11:57 +0100)]
Try harder to find the git repository
Rocco Rutte [Mon, 19 Mar 2007 09:44:46 +0000 (09:44 +0000)]
hg-reset.py: Print info about tags, too
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 19 Mar 2007 09:27:37 +0000 (09:27 +0000)]
hg-reset.py: Print details for changed branches only
It doesn't make sense to suggest resetting branch HEADs to their current
value.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 19 Mar 2007 09:18:20 +0000 (09:18 +0000)]
License hg-reset.py under GPLv2 as it uses mercurial code
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 19 Mar 2007 09:05:51 +0000 (09:05 +0000)]
hg-fast-export.py: Fix option presence checking
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 19 Mar 2007 09:04:42 +0000 (09:04 +0000)]
hg-reset.sh: Helper for partially re-importing from hg
Given a hg revision to reset to, these scripts get the latest changes
per hg branch and print git SHA1. The user then needs to manually reset
branches as needed, tune the state file and can re-import things again.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 19 Mar 2007 08:45:42 +0000 (08:45 +0000)]
Add hg2git.py with library routines
Unfortunately, I can't do 'import hg-fast-export' from python itself, so
we need to move some common methods into 'hg2git.py' which is to be used
as a library for common hg->git routines.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 19 Mar 2007 08:38:27 +0000 (08:38 +0000)]
Ignore *.pyc files
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Fri, 16 Mar 2007 18:19:08 +0000 (18:19 +0000)]
Replace some references from hg2git to hg-fast-import
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Simon Hausmann [Fri, 16 Mar 2007 12:47:46 +0000 (13:47 +0100)]
Default to interactive syncing
Simon Hausmann [Thu, 15 Mar 2007 18:07:06 +0000 (19:07 +0100)]
Be more strict with Perforce after synching.
Simon Hausmann [Wed, 14 Mar 2007 22:30:23 +0000 (23:30 +0100)]
Auto-detect the current branch
Simon Hausmann [Wed, 14 Mar 2007 18:03:16 +0000 (19:03 +0100)]
Ignore weird apple files :)
Simon Hausmann [Wed, 14 Mar 2007 16:33:46 +0000 (17:33 +0100)]
Be nice and use /usr/bin/env python for the git-p4 scripts
Simon Hausmann [Wed, 14 Mar 2007 16:29:46 +0000 (17:29 +0100)]
Automatically operate on a temporary branch, needed for cherry-pick to work when applying changes to
files that are deleted in the future.
Also do some Perforce cleaning
Rocco Rutte [Wed, 14 Mar 2007 15:56:57 +0000 (15:56 +0000)]
Use svn_repos_open() for svn-archive.c, too
Without the change, running it does nothing at all here.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 15:35:33 +0000 (15:35 +0000)]
Obtain svn_fs_t via svn_repos_open() -> svn_repos_fs()
Without really knowing the svn API, using plain svn_fs_open() complained
about a missing /foo/DB_CONFIG even on fsfs type repos. Use
svn_repos_open() to open the repo and use svn_repos_fs() to get the fs
instead of using svn_fs_open() since even the headers say I wouldn't
want to use it directly... and they're right, obviously. :)
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 15:19:13 +0000 (15:19 +0000)]
Allow CFLAGS and LDFLAGS to be overwritten on command line
Hardcoding doesn't make sense, after all.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 10:56:18 +0000 (10:56 +0000)]
hg-fast-export.sh Use hg-fast-export.py, not dead hg2git.py
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 10:32:33 +0000 (10:32 +0000)]
hg-fast-export.py: Kill stale usage() and __doc__
Both are obsolete since using the option parser.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 10:29:24 +0000 (10:29 +0000)]
Use MIT license, adjust hg2git script names to match fast-export repo style
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 10:22:52 +0000 (10:22 +0000)]
Merge branch 'master' of git://repo.or.cz/hg2git
* 'master' of git://repo.or.cz/hg2git: (38 commits)
hg2git.py: Only print verification message for branches we have
hg2git.py: Add simple delta revision feed
hg2git.py: Create only leightweight tags
hg2git.py: add -f/--force option to bypass validation checks
hg2git.py: Bail out for certain errors
Add a note about hg's unnamed branches and multiple heads
hg2git.py: For the first revision, feed out full manifest
hg2git.py: Don't complain die for non-existent heads
Remove SHA stability note from readme
hg2git.py: Remove leading/trailing spaces from authormap
hg2git.py: Allow for spaces in authorfile
hg2git.sh: Add usage note that argument order matters
hg2git.sh: Complete --help output's option listing
Basic support for an author map
hg2git.py: Fix typo saving status to headsfile instead of statusfile
hg2git.py: Display our max revision as progress, not tip
hg2git.py: Disable parsing Signef-off-by lines and add -s to enable
Basic support for command line options in hg2git.py
Rename README.txt to hg2git.txt
Only attempt to verify heads hg has, too
...
Rocco Rutte [Wed, 14 Mar 2007 10:13:27 +0000 (10:13 +0000)]
hg2git.py: Only print verification message for branches we have
It's pointless for many branches to print the validation message for the
first revision already; the same counts for incremental runs.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 10:02:15 +0000 (10:02 +0000)]
hg2git.py: Add simple delta revision feed
Now we have three methods of feeding out changes
1) full for first revision or
2) thorough delta for merges (compare checksums with all parents) or
3) simple delta else (only got with manifest)
This requires some cleanup so that we have only place where we actually
call the appropriate dumping method.
The export_file_contents() method now also sorts its file list before
writing out anything as this seems to speed up hg data retrival a bit.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Wed, 14 Mar 2007 08:34:18 +0000 (08:34 +0000)]
hg2git.py: Create only leightweight tags
The annotated tag with commit message summary was primarily only for
debugging.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Tue, 13 Mar 2007 16:43:20 +0000 (16:43 +0000)]
hg2git.py: add -f/--force option to bypass validation checks
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Tue, 13 Mar 2007 16:31:57 +0000 (16:31 +0000)]
hg2git.py: Bail out for certain errors
New is that we also check for multiple tips having the same branch name,
i.e. no unnamed heads.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Simon Hausmann [Tue, 13 Mar 2007 15:36:10 +0000 (16:36 +0100)]
Lots of fixes done together with Paul
Rocco Rutte [Tue, 13 Mar 2007 15:27:29 +0000 (15:27 +0000)]
Add a note about hg's unnamed branches and multiple heads
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Tue, 13 Mar 2007 10:59:22 +0000 (10:59 +0000)]
hg2git.py: For the first revision, feed out full manifest
For the mutt and hg repos, it didn't make a difference, but attempting
to run the conversion on the opensolaris repo looks like this is needed.
When we attempt to export some commit, special-case the revision number
0 and export all files the manifest has while labeling this a "full
revision export". Otherwise we do what we did before labeling this a
"delta revision export".
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Simon Hausmann [Tue, 13 Mar 2007 08:14:45 +0000 (09:14 +0100)]
Fix git-dir option and allow reading log substitutions from a file
Simon Hausmann [Mon, 12 Mar 2007 22:00:34 +0000 (23:00 +0100)]
First shot at a script that allows applying changesets back from git to perforce
Rocco Rutte [Mon, 12 Mar 2007 11:13:48 +0000 (11:13 +0000)]
hg2git.py: Don't complain die for non-existent heads
Previously, when no head was present under .git/refs/heads, we simply
died as we couldn't open the file. Now, simply return None in case we
cannot read from it.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 11:05:33 +0000 (11:05 +0000)]
Remove SHA stability note from readme
Turns out, it isn't true though the diffs are still empty, i.e.
$ git log --name-status --no-merges b1..b2
produces bogus output when b1 is the a branch from the main hg repo and
b2 a fork of it. But
$ git diff b1..b2
still produces the correct result.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 10:45:32 +0000 (10:45 +0000)]
hg2git.py: Remove leading/trailing spaces from authormap
The current regex may leave us with keys/values having trailing/leading
spaces in all flavours which will break lookup. Solution: strip() key
and value.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 10:26:46 +0000 (10:26 +0000)]
hg2git.py: Allow for spaces in authorfile
By allowing spaces in keys we allow for (re-)mapping complete lines
like "Joe User <joe@host>" to be mapped to something else.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 10:25:01 +0000 (10:25 +0000)]
hg2git.sh: Add usage note that argument order matters
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 09:06:48 +0000 (09:06 +0000)]
hg2git.sh: Complete --help output's option listing
This also adds some more verbose descriptions than the bare listing.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 08:54:30 +0000 (08:54 +0000)]
Basic support for an author map
As git-(cvs|svn)import support it, make futrue git-hgimport :) support it, too.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 08:13:40 +0000 (08:13 +0000)]
hg2git.py: Fix typo saving status to headsfile instead of statusfile
This broke incremental imports as hg2git.sh wrapper overwrites headsfile
with current values after the import is done.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 08:12:08 +0000 (08:12 +0000)]
hg2git.py: Display our max revision as progress, not tip
Displaying tip doesn't make sense when we have some max given with -m/--max.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 08:00:18 +0000 (08:00 +0000)]
hg2git.py: Disable parsing Signef-off-by lines and add -s to enable
IMHO it's highly unusual to have these lines in hg projects but who
knows. As it's slow to parse these types of lines (with regex), it's
disabled by default and the 'author' command of git-fast-import isn't
used at all.
It can be enabled by giving the -s switch to hg2git.sh.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Mon, 12 Mar 2007 07:33:40 +0000 (07:33 +0000)]
Basic support for command line options in hg2git.py
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Simon Hausmann [Sat, 10 Mar 2007 20:30:24 +0000 (21:30 +0100)]
Make the caching official, sort of :)
Simon Hausmann [Sat, 10 Mar 2007 20:23:49 +0000 (21:23 +0100)]
less false integrations
Simon Hausmann [Sat, 10 Mar 2007 16:46:49 +0000 (17:46 +0100)]
More work on merge detection
Rocco Rutte [Sat, 10 Mar 2007 14:29:49 +0000 (14:29 +0000)]
Rename README.txt to hg2git.txt
This is to avoid naming clashes since I'm more or less about to merge
hg2git into fast-export.git at repo.or.cz.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Rocco Rutte [Sat, 10 Mar 2007 14:28:45 +0000 (14:28 +0000)]
Only attempt to verify heads hg has, too
In the git repo there may be any number branches that are not hg
imported branches, so it doesn't make sense to print warnings when a
non-hg head isn't at what it was last time.
Now we get a list of branchtags hg has and only verify these.
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Simon Hausmann [Sat, 10 Mar 2007 10:46:26 +0000 (11:46 +0100)]
Cleanups and preparations for true branch merge detection
Simon Hausmann [Sat, 10 Mar 2007 09:53:07 +0000 (10:53 +0100)]
Cleanups
Simon Hausmann [Sat, 10 Mar 2007 09:25:34 +0000 (10:25 +0100)]
make the debug cache configurable