Rocco Rutte [Mon, 22 Oct 2007 07:34:40 +0000 (09:34 +0200)]
Allow for $PYTHON environment variable specifying python binary to use
Signed-off-by: Rocco Rutte <pdmef@gmx.net>
Scott Lamb [Mon, 16 Jul 2007 08:31:00 +0000 (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>
Simon Hausmann [Mon, 25 Jun 2007 08:34:20 +0000 (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>
Simon Hausmann [Thu, 21 Jun 2007 22:01:57 +0000 (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>
Simon Hausmann [Wed, 20 Jun 2007 21:10:28 +0000 (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>
Simon Hausmann [Sun, 17 Jun 2007 13:10:24 +0000 (15:10 +0200)]
Warn about conflicting p4 branch mappings and use the first one found.
Signed-off-by: Simon Hausmann <simon@lst.de>
Simon Hausmann [Sun, 17 Jun 2007 09:25:34 +0000 (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>
Benjamin Sergeant [Fri, 8 Jun 2007 18:13:55 +0000 (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>
Simon Hausmann [Sat, 16 Jun 2007 11:09:21 +0000 (13:09 +0200)]
Fix initial multi-branch import.
The list of existing p4 branches in git wasn't initialized.
Marius Storm-Olsen [Tue, 12 Jun 2007 13:27:52 +0000 (15:27 +0200)]
Only use double quotes on Windows
Simon Hausmann [Tue, 12 Jun 2007 12:34:46 +0000 (14:34 +0200)]
Fix git-p4 rebase to detect the correct upstream branch instead of unconditionally
always rebasing on top of remotes/p4/master
Simon Hausmann [Tue, 12 Jun 2007 12:31:59 +0000 (14:31 +0200)]
Moved the code from git-p4 submit to figure out the upstream branch point
into a separate helper method.
Simon Hausmann [Mon, 11 Jun 2007 21:40:25 +0000 (23:40 +0200)]
git-p4 submit: Fix missing quotes around p4 commands to make them work with spaces in filenames
Noticed by Alex Riesen
Simon Hausmann [Mon, 11 Jun 2007 21:30:23 +0000 (23:30 +0200)]
Mention remotes/p4/master also in the documentation.
Simon Hausmann [Mon, 11 Jun 2007 21:28:03 +0000 (23:28 +0200)]
Provide some information for single branch imports where the commits go
Kevin Green [Mon, 11 Jun 2007 20:48:07 +0000 (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>
Simon Hausmann [Mon, 11 Jun 2007 08:01:58 +0000 (10:01 +0200)]
Write out the options tag in the log message of imports only if we actually have
options
Simon Hausmann [Mon, 11 Jun 2007 07:59:27 +0000 (09:59 +0200)]
Fix support for explicit disabling of syncing with the origin
Simon Hausmann [Mon, 11 Jun 2007 06:54:45 +0000 (08:54 +0200)]
Fix depot-paths encoding for multi-path imports (don't split up //depot/path/foo)
Simon Hausmann [Mon, 11 Jun 2007 06:50:57 +0000 (08:50 +0200)]
Fix project name guessing
Simon Hausmann [Sun, 10 Jun 2007 08:57:40 +0000 (10:57 +0200)]
Fix updating/creating remotes/p4/* heads from origin/p4/*
Simon Hausmann [Sat, 9 Jun 2007 22:22:30 +0000 (00:22 +0200)]
Fixed the check to make sure to exclude the HEAD symbolic refs when updating
the remotes/p4 branches from origin.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
also strip p4/ from local imports.
Han-Wen Nienhuys [Fri, 8 Jun 2007 21:19:23 +0000 (18:19 -0300)]
Merge branch 'master' of git://repo.or.cz/fast-export
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
print error message when p4 print fails (eg. due to permission problems)
Simon Hausmann [Fri, 8 Jun 2007 06:49:22 +0000 (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).
Simon Hausmann [Thu, 7 Jun 2007 20:54:32 +0000 (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>
Simon Hausmann [Thu, 7 Jun 2007 19:12:25 +0000 (21:12 +0200)]
Make clone behave like git clone by default again.
Signed-off-by: Simon Hausmann <simon@lst.de>
Marius Storm-Olsen [Thu, 7 Jun 2007 13:28:04 +0000 (15:28 +0200)]
Exclude the HEAD symbolic ref from the list of known branches
Marius Storm-Olsen [Thu, 7 Jun 2007 13:13:59 +0000 (15:13 +0200)]
Fix single branch import into remotes
Marius Storm-Olsen [Thu, 7 Jun 2007 13:08:33 +0000 (15:08 +0200)]
Fix git-p4 clone (defaultDestination)
Marius Storm-Olsen [Thu, 7 Jun 2007 12:07:01 +0000 (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>
Simon Hausmann [Thu, 7 Jun 2007 11:10:20 +0000 (13:10 +0200)]
Fix depot-path determination for git-p4 submit
Simon Hausmann [Thu, 7 Jun 2007 11:09:14 +0000 (13:09 +0200)]
Fix git-p4 submit
Simon Hausmann [Thu, 7 Jun 2007 10:51:03 +0000 (12:51 +0200)]
Fix git-p4 rebase
Simon Hausmann [Thu, 7 Jun 2007 07:41:53 +0000 (09:41 +0200)]
Hack to make the multi-branch import work again with self.depotPaths now that
self.depotPath is gone
Simon Hausmann [Thu, 7 Jun 2007 07:39:51 +0000 (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 :)
Simon Hausmann [Thu, 7 Jun 2007 07:37:13 +0000 (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.
Simon Hausmann [Thu, 7 Jun 2007 07:19:34 +0000 (09:19 +0200)]
Fix support for "depot-path" in older git-p4 imports
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
look for 'text' and 'binary' files.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
thinko: really ignore deleted files.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
remove debug print
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (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
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
use p4CmdList() to get file contents in Python dicts. This is more robust.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
only run p4 print if necessary
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
don't p4 print deleted files.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
read files before creating the commit.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
thinko.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
store p4 user cache in home directory.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
Thinko, fix buglet.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
Read p4 files in one batch.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
remove global .gitdir
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
Merge origin.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (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
Simon Hausmann [Mon, 28 May 2007 17:24:57 +0000 (19:24 +0200)]
Fix typo in listExistingP4Branches that broke sync.
Simon Hausmann [Mon, 28 May 2007 17:23:19 +0000 (19:23 +0200)]
In *_pipe print the command that failed if it fails.
Fixed old calls to mypopen.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
Extract multiple paths concurrently.
This enables importing just the interesting bits of large
repositories.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
add --verbose to all commands.
Han-Wen Nienhuys [Wed, 23 May 2007 21:49:35 +0000 (18:49 -0300)]
use strip() iso. slicing for removing \n
Han-Wen Nienhuys [Wed, 23 May 2007 21:29:34 +0000 (18:29 -0300)]
use string.strip() iso. slicing.
Han-Wen Nienhuys [Wed, 23 May 2007 21:20:53 +0000 (18:20 -0300)]
clone and sync --keep-path to keep perforce path to module.
Han-Wen Nienhuys [Wed, 23 May 2007 20:41:50 +0000 (17:41 -0300)]
minor cleanups
Han-Wen Nienhuys [Wed, 23 May 2007 20:14:33 +0000 (17:14 -0300)]
cleanup
- use re.sub() iso. if for stripping ...
- spacing nits
Han-Wen Nienhuys [Wed, 23 May 2007 20:10:46 +0000 (17:10 -0300)]
Robustness fixes for pipes
- add read_pipe(), read_pipe_lines(), write_pipe(), which
check pipe.close()
- use throughout
Han-Wen Nienhuys [Wed, 23 May 2007 20:10:46 +0000 (17:10 -0300)]
add .dotest to .gitignore
Simon Hausmann [Mon, 28 May 2007 12:43:25 +0000 (14:43 +0200)]
Fix my email address, this isn't really KDE related :)
Han-Wen Nienhuys [Wed, 23 May 2007 19:55:48 +0000 (16:55 -0300)]
rename apply() to applyCommit(); apply is a python builtin
Han-Wen Nienhuys [Wed, 23 May 2007 19:53:11 +0000 (16:53 -0300)]
reformatting: break long lines.
Han-Wen Nienhuys [Wed, 23 May 2007 19:46:29 +0000 (16:46 -0300)]
Cleanups
- don't use dir (python builtin)
- use re for munging depotPath into destination
Simon Hausmann [Sun, 27 May 2007 13:48:01 +0000 (15:48 +0200)]
Fix creation of refs/remotes/p4/HEAD symbolic ref
Simon Hausmann [Fri, 25 May 2007 20:34:30 +0000 (22:34 +0200)]
Added git-p4 submit --trust-me-like-a-fool for the adventurous users :)
Simon Hausmann [Fri, 25 May 2007 17:43:38 +0000 (19:43 +0200)]
Forgot to remove this TODO item when I made --with-origin the default :)
Simon Hausmann [Fri, 25 May 2007 09:36:42 +0000 (11:36 +0200)]
Shortcut the case where we have no origin branch
Simon Hausmann [Fri, 25 May 2007 08:36:10 +0000 (10:36 +0200)]
Make --with-origin the default for syncing.
Simon Hausmann [Fri, 25 May 2007 08:28:46 +0000 (10:28 +0200)]
Make --with-origin also work without origin :)
Simon Hausmann [Fri, 25 May 2007 06:49:18 +0000 (08:49 +0200)]
Make git-p4 work with packed refs (don't use os.path.exists to check for the
existance of a ref)
Simon Hausmann [Fri, 25 May 2007 06:44:41 +0000 (08:44 +0200)]
Avoid creating non-p4 branches in remotes/p4 off of remotes/origin
Simon Hausmann [Thu, 24 May 2007 20:28:28 +0000 (22:28 +0200)]
Oops, fix --with-origin to /really/ also call git fetch :)
Simon Hausmann [Thu, 24 May 2007 20:25:36 +0000 (22:25 +0200)]
Added support for --with-origin with multi-branch imports
Simon Hausmann [Thu, 24 May 2007 20:10:40 +0000 (22:10 +0200)]
Forgot to remove this return statement from debugging
Simon Hausmann [Thu, 24 May 2007 19:23:04 +0000 (21:23 +0200)]
Fix creating the remotes/p4 branches based on origin/* for the multi-branch import
Marius Storm-Olsen [Thu, 24 May 2007 12:07:55 +0000 (14:07 +0200)]
Replace
with
when importing from p4 on Windows
Simon Hausmann [Wed, 23 May 2007 22:24:52 +0000 (00:24 +0200)]
Load the user map from p4 only once at run-time.
Simon Hausmann [Wed, 23 May 2007 21:53:14 +0000 (23:53 +0200)]
Fix multi-branch import with --silent.
Simon Hausmann [Wed, 23 May 2007 21:44:19 +0000 (23:44 +0200)]
p4 p4 is not a valid p4 command :)
Simon Hausmann [Wed, 23 May 2007 21:40:48 +0000 (23:40 +0200)]
Catch p4 errors in rollback early enough (before deleting refs!)
Simon Hausmann [Wed, 23 May 2007 21:32:32 +0000 (23:32 +0200)]
Oops, fill the /list/ correct with the p4 exit code.
Simon Hausmann [Wed, 23 May 2007 21:27:31 +0000 (23:27 +0200)]
Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed when the p4 command itself failed.
When the p4 command failed write out the exit code in the returned dict.
Simon Hausmann [Wed, 23 May 2007 18:07:57 +0000 (20:07 +0200)]
Make rollback work with locally imported branches
Simon Hausmann [Wed, 23 May 2007 14:41:46 +0000 (16:41 +0200)]
Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash)
Simon Hausmann [Tue, 22 May 2007 22:33:34 +0000 (00:33 +0200)]
Doc updates
Simon Hausmann [Tue, 22 May 2007 22:15:50 +0000 (00:15 +0200)]
Use refs/heads/* instead of refs/heads/p4/* for local imports
Simon Hausmann [Tue, 22 May 2007 22:07:35 +0000 (00:07 +0200)]
Added support for --max-changes=<count> to ease import debugging
Simon Hausmann [Tue, 22 May 2007 22:03:08 +0000 (00:03 +0200)]
Added support for importing multiple branches into refs/heads instead of just refs/remotes
using --import-local. Needs some further microfix but seems to work otherwise.
Simon Hausmann [Mon, 21 May 2007 21:44:24 +0000 (23:44 +0200)]
Fixes for rollback, delete branches that did not exist at the specified p4 change
Simon Hausmann [Mon, 21 May 2007 21:25:51 +0000 (23:25 +0200)]
Fix branch detection in multi-branch imports
Simon Hausmann [Mon, 21 May 2007 20:57:06 +0000 (22:57 +0200)]
Added rollback command for debugging
Simon Hausmann [Mon, 21 May 2007 09:04:26 +0000 (11:04 +0200)]
Make git-p4 submit --direct safer by also creating a git commit
Simon Hausmann [Mon, 21 May 2007 08:08:11 +0000 (10:08 +0200)]
Detect with git-p4 submit --direct when there are no changes in the working directory
Simon Hausmann [Mon, 21 May 2007 08:05:30 +0000 (10:05 +0200)]
Fix git symbolic-ref warning on initial clone