* P4 Sync problem
@ 2009-11-10 13:56 Dmitry Smirnov
2009-11-11 8:43 ` Tor Arvid Lund
0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Smirnov @ 2009-11-10 13:56 UTC (permalink / raw)
To: git
Hi,
I'm trying to import Perfoce client into Git repository.
I had configured git-p4.clent=MYCLIENT and git-p4.useclientspec=true.
When runnign git p4 sync --verbose I got the follwing:
c:\p4\views\Git\p4client>git p4 sync --verbose
Reading pipe: git config git-p4.useclientspec
Reading pipe: git config git-p4.user
Reading pipe: git config git-p4.password
Reading pipe: git config git-p4.port
Reading pipe: git config git-p4.host
Reading pipe: git config git-p4.client
p4 -c MYCLIENT -G client -o
Opening pipe: p4 -c MYCLIENT -G client -o
Reading pipe: git rev-parse --symbolic --remotes
branches: []
Getting p4 changes for ...
Traceback (most recent call last):
File "/usr/sbin/git-core//git-p4", line 1929, in ?
main()
File "/usr/sbin/git-core//git-p4", line 1924, in main
if not cmd.run(args):
File "/usr/sbin/git-core//git-p4", line 1676, in run
changes = p4ChangesForPaths(self.depotPaths, self.changeRange)
File "/usr/sbin/git-core//git-p4", line 442, in p4ChangesForPaths
assert depotPaths
AssertionError
I would appreciate if someone help to solve this problem.
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-10 13:56 P4 Sync problem Dmitry Smirnov
@ 2009-11-11 8:43 ` Tor Arvid Lund
2009-11-11 9:43 ` Dmitry Smirnov
0 siblings, 1 reply; 9+ messages in thread
From: Tor Arvid Lund @ 2009-11-11 8:43 UTC (permalink / raw)
To: Dmitry Smirnov; +Cc: git
On Tue, Nov 10, 2009 at 2:56 PM, Dmitry Smirnov <divis1969@gmail.com> wrote:
> Hi,
>
> I'm trying to import Perfoce client into Git repository.
> I had configured git-p4.clent=MYCLIENT and git-p4.useclientspec=true.
>
> When runnign git p4 sync --verbose I got the follwing:
>
> c:\p4\views\Git\p4client>git p4 sync --verbose
<snip>
> Traceback (most recent call last):
> File "/usr/sbin/git-core//git-p4", line 1929, in ?
> main()
> File "/usr/sbin/git-core//git-p4", line 1924, in main
> if not cmd.run(args):
> File "/usr/sbin/git-core//git-p4", line 1676, in run
> changes = p4ChangesForPaths(self.depotPaths, self.changeRange)
> File "/usr/sbin/git-core//git-p4", line 442, in p4ChangesForPaths
> assert depotPaths
> AssertionError
Hi. So - I think the problem is that git-p4 doesn't understand what it
is you want to sync. The git-p4.useclientspec flag was created for the
purpose where your perforce depot may look like this:
//depot/project1
//depot/project1/source_code
//depot/project1/documentation
//depot/project1/some_large_collection_of_binaries
Then - if I set up my client spec like:
//depot/...
-//depot/project1/some_large_collection_of_binaries
... and do
git p4 sync //depot/project1@all
... it should get all project1 files except the
"some_large_collection_of_binaries" subdirectory (provided that you
have set the git-p4.client and git-p4.useclientspec).
-Tor Arvid-
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-11 8:43 ` Tor Arvid Lund
@ 2009-11-11 9:43 ` Dmitry Smirnov
2009-11-11 12:00 ` Tor Arvid Lund
0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Smirnov @ 2009-11-11 9:43 UTC (permalink / raw)
To: git
Tor Arvid Lund <torarvid <at> gmail.com> writes:
> Hi. So - I think the problem is that git-p4 doesn't understand what it
> is you want to sync.
I believe it will never understand that until self.depotPaths
will be initialized.
It looks like it is intitilized from argument list only (or from already saved
settings). See P4Sync.run().
But self.getClientSpec() which is called some time before, does not init neither
self.depotPaths nor args.
I had fixed this with the following code (new lines marked with +):
if self.useClientSpec or gitConfig("git-p4.useclientspec") == "true":
+ if self.verbose:
+ print "Get client spec"
self.getClientSpec()
+ if self.verbose:
+ print "Client Spec Dirs: %s" % self.clientSpecDirs
+ if len(args) == 0:
+ for item in self.clientSpecDirs:
+ k,v = item
+ args.append(k)
Unfortunately, this fails on another stage:
>git p4 sync --verbose
Reading pipe: git config git-p4.useclientspec
Get client spec
Reading pipe: git config git-p4.user
Reading pipe: git config git-p4.password
Reading pipe: git config git-p4.port
Reading pipe: git config git-p4.host
Reading pipe: git config git-p4.client
p4 -c MYCLIENT-G client -o
Opening pipe: p4 -c MYCLIENT-G client -o
Client Spec Dirs:[ <my paths here> ]
Doing initial import of <my paths here> from revision #head into
refs/remotes/p4/master
p4 -c MYCLIENT-G files <my paths here appended with ...#head >
Opening pipe: p4 -c MYCLIENT-G files <my paths here appended with ...#head >
p4 returned an error: //MYCLIENT/path/file.c/...#head> - file(s) not in client
view.
My client spec contains some line to the file:
-//depot/path/... //MYCLIENT/null/...
//depot/path/file.cs //MYCLIENT/path/file.cs
This means that I wish to sync only file.cs into my client and get rid of other
files in this directory.
BTW, note that file extension is truncated in the log
Dmitry
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-11 9:43 ` Dmitry Smirnov
@ 2009-11-11 12:00 ` Tor Arvid Lund
2009-11-11 12:39 ` Dmitry Smirnov
0 siblings, 1 reply; 9+ messages in thread
From: Tor Arvid Lund @ 2009-11-11 12:00 UTC (permalink / raw)
To: Dmitry Smirnov; +Cc: git
On Wed, Nov 11, 2009 at 10:43 AM, Dmitry Smirnov <divis1969@gmail.com> wrote:
> Tor Arvid Lund <torarvid <at> gmail.com> writes:
>
>> Hi. So - I think the problem is that git-p4 doesn't understand what it
>> is you want to sync.
>
> I believe it will never understand that until self.depotPaths
> will be initialized.
Correct.
> It looks like it is intitilized from argument list only (or from already saved
> settings). See P4Sync.run().
Also correct, me thinks.
> But self.getClientSpec() which is called some time before, does not init neither
> self.depotPaths nor args.
Correct again. The useclientspec flag was created (by me) as a simple
way to filter out files that I did not want to download (the reason
being my company tends to mix binaries with source files causing
unnecessary long sync times). So it was never used to tell git-p4
_what_ to sync, but rather what to _not_ sync.
So - in your case, you could have tried to just say "git p4 sync
//depot@all", and if your clientspec contained, say, only
"//depot/path/projectX", then projectX should be the only thing that
got downloaded. Keep in mind, though, that git-p4 would still ask the
p4 server for _all_ of its changelists, loop through them, and check
each file in each changelist against the clientSpecDirs array...
> I had fixed this with the following code (new lines marked with +):
> if self.useClientSpec or gitConfig("git-p4.useclientspec") == "true":
> + if self.verbose:
> + print "Get client spec"
> self.getClientSpec()
> + if self.verbose:
> + print "Client Spec Dirs: %s" % self.clientSpecDirs
> + if len(args) == 0:
> + for item in self.clientSpecDirs:
> + k,v = item
> + args.append(k)
Well, I see what you're trying to do, but I would not want to see that
patch in the official script, because some (most?) people (myself, at
least) use git-p4 to clone single projects out of a perforce depot
that may contain many projects. I do this myself by doing:
git p4 clone //depot/path/to/projectX@all
I usually use one clientspec in perforce, and I do not want to change
that... With your patch, I would be in trouble since my clientspec
contains "//depot/..." (followed by a lot of lines starting with '-')
> Unfortunately, this fails on another stage:
>
>>git p4 sync --verbose
<snip>
> Opening pipe: p4 -c MYCLIENT-G files <my paths here appended with ...#head >
> p4 returned an error: //MYCLIENT/path/file.c/...#head> - file(s) not in client
> view.
>
> My client spec contains some line to the file:
> -//depot/path/... //MYCLIENT/null/...
> //depot/path/file.cs //MYCLIENT/path/file.cs
>
> This means that I wish to sync only file.cs into my client and get rid of other
> files in this directory.
> BTW, note that file extension is truncated in the log
Yep - this is a bug (or lack of a feature, if you will...). The
clientspec functionality in git-p4 supports directories only. If you
look at the getClientSpec function, you see that it looks for "...".
It's probably an easy fix if you want to support having single files
in the client spec. I didn't (and don't) need it, so it didn't occur
to me at the time...
If you want to fix it, you might want to rename clientSpecDirs to
clientSpecEntries or something like that.
Btw... Am I understanding correctly what it is you wish to accomplish?
I'm guessing that you have a perforce server with a client spec set
up, and you want to sync everything on the entire server according to
that client spec?
-Tor Arvid-
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-11 12:00 ` Tor Arvid Lund
@ 2009-11-11 12:39 ` Dmitry Smirnov
2009-11-11 13:54 ` Tor Arvid Lund
2009-11-15 13:00 ` Pete Wyckoff
0 siblings, 2 replies; 9+ messages in thread
From: Dmitry Smirnov @ 2009-11-11 12:39 UTC (permalink / raw)
To: git
Tor Arvid Lund <torarvid <at> gmail.com> writes:
> Well, I see what you're trying to do, but I would not want to see that
> patch in the official script, because some (most?) people (myself, at
> least) use git-p4 to clone single projects out of a perforce depot
> that may contain many projects. I do this myself by doing:
>
> git p4 clone //depot/path/to/projectX <at> all
>
> I usually use one clientspec in perforce, and I do not want to change
> that... With your patch, I would be in trouble since my clientspec
> contains "//depot/..." (followed by a lot of lines starting with '-')
Well, does this mean that if you try to sync the client in perforce (visual or
command line), you will sync all the projects?
In that case, git p4 will require significant effort to satisfy both of us :-)
Unfortunatly, it seems I'm in minory group of git-p4 users...
i would propose to use both command-line arguments and a client spec
to create a correct filter of what should be synced/cloned.
BTW, it looks this script does not honor neither the order of paths
in the spec (which can be important) nor mapping of the files to a local tree.
> If you want to fix it, you might want to rename clientSpecDirs to
> clientSpecEntries or something like that.
For now, I just commented out two lines in the run() procedure:
#if not p.endswith("/"):
# p += "/"
> Btw... Am I understanding correctly what it is you wish to accomplish?
> I'm guessing that you have a perforce server with a client spec set
> up, and you want to sync everything on the entire server according to
> that client spec?
yes. Client spec completely defines the project layout for me.
It contains paths to some components that are mapped to the
client working tree.
Just if your CS contain
//depot/path/to/projectX/... //CLIENT/...
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-11 12:39 ` Dmitry Smirnov
@ 2009-11-11 13:54 ` Tor Arvid Lund
2009-11-11 14:57 ` Dmitry Smirnov
2009-11-15 13:00 ` Pete Wyckoff
1 sibling, 1 reply; 9+ messages in thread
From: Tor Arvid Lund @ 2009-11-11 13:54 UTC (permalink / raw)
To: Dmitry Smirnov; +Cc: git
On Wed, Nov 11, 2009 at 1:39 PM, Dmitry Smirnov <divis1969@gmail.com> wrote:
> Tor Arvid Lund <torarvid <at> gmail.com> writes:
>
>
>> Well, I see what you're trying to do, but I would not want to see that
>> patch in the official script, because some (most?) people (myself, at
>> least) use git-p4 to clone single projects out of a perforce depot
>> that may contain many projects. I do this myself by doing:
>>
>> git p4 clone //depot/path/to/projectX <at> all
>>
>> I usually use one clientspec in perforce, and I do not want to change
>> that... With your patch, I would be in trouble since my clientspec
>> contains "//depot/..." (followed by a lot of lines starting with '-')
>
> Well, does this mean that if you try to sync the client in perforce (visual or
> command line), you will sync all the projects?
Yes, but I generally try to not use perforce, but git instead :-)
> In that case, git p4 will require significant effort to satisfy both of us :-)
> Unfortunatly, it seems I'm in minory group of git-p4 users...
I don't know, but if I were to guess, then yes, you probably are... If
you have a complex perforce client spec setup, then there may of
course be problems that git-p4 might not solve for you. Since nobody
has volunteered to implement the features you describe yet, I believe
that most of us git-p4 users have fairly simple client spec setups.
For me, most projects in p4 are such that I can give one root
directory to "git p4 sync", and it works for me. I of course have
several git projects that sync from the same p4 server (only with
different root dirs). In cases where you have dependencies between
such projects, you should maybe read about git submodules - or maybe
googles "repo" script (search for "google repo git"). I don't know
much about any of these, other than 'they exist, and seemingly try to
solve such issues' :-/
> i would propose to use both command-line arguments and a client spec
> to create a correct filter of what should be synced/cloned.
> BTW, it looks this script does not honor neither the order of paths
> in the spec (which can be important) nor mapping of the files to a local tree.
When you have a client spec like:
//depot/A/...
-//depot/A/B/...
//depot/A/B/C/...
... git-p4 sorts these paths by length. For a given filename, it finds
the longest path that matches that files directory, and if that path
starts with a '-', the file is not synced (for a file
"//depot/A/B/myfile.c" it gets a match on "-//depot/A/B/...", and
myfile.c is not synced, but the file "//depot/A/B/C/myotherfile.c" it
matches "//depot/A/B/C/...")
Do you have an example that shows how it might fail?
And no, git-p4 does not care about the local mappings, it reads only
the server part.
-Tor Arvid-
>> If you want to fix it, you might want to rename clientSpecDirs to
>> clientSpecEntries or something like that.
>
> For now, I just commented out two lines in the run() procedure:
> #if not p.endswith("/"):
> # p += "/"
>
>> Btw... Am I understanding correctly what it is you wish to accomplish?
>> I'm guessing that you have a perforce server with a client spec set
>> up, and you want to sync everything on the entire server according to
>> that client spec?
>
> yes. Client spec completely defines the project layout for me.
> It contains paths to some components that are mapped to the
> client working tree.
> Just if your CS contain
>
> //depot/path/to/projectX/... //CLIENT/...
>
>
>
> --
> 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
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-11 13:54 ` Tor Arvid Lund
@ 2009-11-11 14:57 ` Dmitry Smirnov
2010-07-22 18:21 ` masonk
0 siblings, 1 reply; 9+ messages in thread
From: Dmitry Smirnov @ 2009-11-11 14:57 UTC (permalink / raw)
To: git
Tor Arvid Lund <torarvid <at> gmail.com> writes:
> //depot/A/...
> -//depot/A/B/...
> //depot/A/B/C/...
>
> ... git-p4 sorts these paths by length. For a given filename, it finds
> the longest path that matches that files directory, and if that path
> starts with a '-', the file is not synced (for a file
> "//depot/A/B/myfile.c" it gets a match on "-//depot/A/B/...", and
> myfile.c is not synced, but the file "//depot/A/B/C/myotherfile.c" it
> matches "//depot/A/B/C/...")
>
> Do you have an example that shows how it might fail?
According to the P4 User's Guide
(http://www.perforce.com/perforce/doc.091/manuals/p4guide/02_config.html#1066090)
Perforce prefer later mapping if there is a conflict.
So, if you switch paths:
-//depot/A/B/...
//depot/A/...
perforce will sync all the the files. Of course, this is not a very
useful case.
I suppose the order is not important until mapping are implemented...
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-11 12:39 ` Dmitry Smirnov
2009-11-11 13:54 ` Tor Arvid Lund
@ 2009-11-15 13:00 ` Pete Wyckoff
1 sibling, 0 replies; 9+ messages in thread
From: Pete Wyckoff @ 2009-11-15 13:00 UTC (permalink / raw)
To: Dmitry Smirnov; +Cc: git
divis1969@gmail.com wrote on Wed, 11 Nov 2009 12:39 +0000:
> i would propose to use both command-line arguments and a client spec
> to create a correct filter of what should be synced/cloned.
> BTW, it looks this script does not honor neither the order of paths
> in the spec (which can be important) nor mapping of the files to a local tree.
Here's a hack that I've been using to at least read the repo
locations out of the client spec. In the useclientspec case, it
takes all the info on paths from an existing p4 client spec. No
command line argument to git p4 sync. Hack out the test for P4ENV;
that is site specific for me.
We've moved away from using client specs with more than 1 line, so
I'm not interested in this patch anymore. Also, the long term
solution will probably be based on the foreign remote work that
Daniel and others are doing, so don't invest too much time in fixing
this up. That said, if there is a clean way to support both your
client specs and how Tor and others use them, it is worth putting
in now.
Good luck.
-- Pete
>From 55e8f6323894031119c755f2c3b3214c1c74b824 Mon Sep 17 00:00:00 2001
From: Pete Wyckoff <pw@padd.com>
Date: Wed, 26 Nov 2008 12:28:09 -0500
Subject: [PATCH] honor git client spec
Destination directories for parts of the depot are specified in the
client spec. Use them as given. Also read the entire client spec to
figure out what to do.
---
contrib/fast-import/git-p4 | 108 +++++++++++++++++++++++++++++++++++---------
1 files changed, 86 insertions(+), 22 deletions(-)
diff --git a/contrib/fast-import/git-p4 b/contrib/fast-import/git-p4
index 1cecae2..28fa95f 100755
--- a/contrib/fast-import/git-p4
+++ b/contrib/fast-import/git-p4
@@ -456,6 +456,26 @@ def p4ChangesForPaths(depotPaths, changeRange):
changelist.sort()
return changelist
+#
+# Sort by number of slashes first: more specific at the top. Then
+# sort by alpha within a given number of path components.
+#
+def clientSortFunc(a, b):
+ asrc = a[0]
+ bsrc = b[0]
+ asrclen = asrc.count("/")
+ bsrclen = bsrc.count("/")
+ if asrclen > bsrclen:
+ return -1
+ elif asrclen < bsrclen:
+ return 1
+ elif asrc > bsrc:
+ return 1
+ elif asrc < bsrc:
+ return -1
+ else:
+ return 0
+
class Command:
def __init__(self):
self.usage = "usage: %prog [options]"
@@ -915,6 +935,11 @@ class P4Sync(Command):
return files
def stripRepoPath(self, path, prefixes):
+ if self.clientSpecDirs:
+ for val in self.clientSpecDirs:
+ if path.startswith(val[0]):
+ return val[1] + path[len(val[0]):]
+
if self.keepRepoPath:
prefixes = [re.sub("^(//[^/]+/).*", r'\1', prefixes[0])]
@@ -1038,7 +1063,7 @@ class P4Sync(Command):
includeFile = True
for val in self.clientSpecDirs:
if f['path'].startswith(val[0]):
- if val[1] <= 0:
+ if val[1] == '-':
includeFile = False
break
@@ -1115,6 +1140,7 @@ class P4Sync(Command):
self.gitStream.write("from %s\n" % parent)
self.streamP4Files(new_files)
+
self.gitStream.write("\n")
change = int(details["change"])
@@ -1476,24 +1502,54 @@ class P4Sync(Command):
def getClientSpec(self):
- specList = p4CmdList( "client -o" )
+ specList = p4CmdList("client -o")
temp = {}
+ client = ""
+ for entry in specList:
+ for k,v in entry.iteritems():
+ if k.startswith("Client"):
+ client = v
+ print "client is", client
+ if not client:
+ sys.stderr.write("no client found\n")
+ sys.exit(1)
+ client = "//" + client + "/"
for entry in specList:
for k,v in entry.iteritems():
if k.startswith("View"):
- if v.startswith('"'):
- start = 1
- else:
- start = 0
- index = v.find("...")
- v = v[start:index]
- if v.startswith("-"):
- v = v[1:]
- temp[v] = -len(v)
- else:
- temp[v] = len(v)
- self.clientSpecDirs = temp.items()
- self.clientSpecDirs.sort( lambda x, y: abs( y[1] ) - abs( x[1] ) )
+ if v.startswith('"'):
+ v = v[1:]
+ if v.endswith('"'):
+ v = v[:-1]
+ d = v.split(" ");
+ if len(d) != 2:
+ sys.stderr.write( \
+ "expecting two fields in view, got: %s\n" % v)
+ sys.exit(1)
+ if not d[0].endswith("..."):
+ sys.stderr.write(\
+ "expecting trailing ..., got: %s\n" % d[0])
+ sys.exit(1)
+ d[0] = d[0][:-3]
+ if not d[1].endswith("..."):
+ sys.stderr.write(\
+ "expecting trailing ..., got: %s\n" % d[1])
+ sys.exit(1)
+ d[1] = d[1][:-3]
+ if not d[1].startswith(client):
+ sys.stderr.write(\
+ "expecting dest to start with %s, got: %s\n" % \
+ (client, d[1]))
+ sys.exit(1)
+ d[1] = d[1][len(client):]
+ # negated items do not appear in tree
+ if d[0].startswith("-"):
+ d[0] = d[0][1:]
+ d[1] = ""
+ temp[d[0]] = d[1]
+
+ self.clientSpecDirs = temp.items()
+ self.clientSpecDirs.sort(clientSortFunc)
def run(self, args):
self.depotPaths = []
@@ -1755,7 +1811,7 @@ class P4Clone(P4Sync):
def __init__(self):
P4Sync.__init__(self)
self.description = "Creates a new git repository and imports from Perforce into it"
- self.usage = "usage: %prog [options] //depot/path[@revRange]"
+ self.usage = "usage: %prog [options] [//depot/path[@revRange]]"
self.options += [
optparse.make_option("--destination", dest="cloneDestination",
action='store', default=None,
@@ -1783,18 +1839,26 @@ class P4Clone(P4Sync):
return os.path.split(depotDir)[1]
def run(self, args):
- if len(args) < 1:
- return False
-
if self.keepRepoPath and not self.cloneDestination:
sys.stderr.write("Must specify destination for --keep-path\n")
sys.exit(1)
depotPaths = args
- if not self.cloneDestination and len(depotPaths) > 1:
- self.cloneDestination = depotPaths[-1]
- depotPaths = depotPaths[:-1]
+ if gitConfig("git-p4.useclientspec") == "true":
+ if not os.path.exists("P4ENV"):
+ sys.stderr.write("Must copy P4ENV file from a valid client\n")
+ sys.exit(1)
+ self.getClientSpec()
+ if not depotPaths:
+ depotPaths = [p[0] for p in self.clientSpecDirs]
+ else:
+ if not depotPaths:
+ sys.stderr.write("Must specify depot path if no client spec\n")
+ sys.exit(1)
+
+ if not self.cloneDestination:
+ self.cloneDestination = "."
self.cloneExclude = ["/"+p for p in self.cloneExclude]
for p in depotPaths:
--
1.6.2.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: P4 Sync problem
2009-11-11 14:57 ` Dmitry Smirnov
@ 2010-07-22 18:21 ` masonk
0 siblings, 0 replies; 9+ messages in thread
From: masonk @ 2010-07-22 18:21 UTC (permalink / raw)
To: git
Hi, I know this is an old thread, but I think it might be relevant. (At any
rate, at least you know I've been looking).
I'm trying to use git-p4 with a very large P4 repository, of which my client
view is a small fraction.
My client view is within the administrator-set file limit of P4 files.
E.G., p4 sync //depot/... works.
When I call git-p4 sync or clone, however, it bumps into the limit. Even if
I am using client spec and detecting branches. If p4 were successfully
detecting my branches -or- using my client spec, I would not be running into
the limit. But:
git p4 sync //depot@all --use-client-spec --detect-branches --verbose
Syncing with origin first by calling git fetch origin
executing git fetch origin
Reading pipe: git config git-p4.user
Reading pipe: git config git-p4.password
Reading pipe: git config git-p4.port
Reading pipe: git config git-p4.host
Reading pipe: git config git-p4.client
p4 -u mkramer -c mkramer -G client -o
Opening pipe: p4 -u mkramer -c mkramer -G client -o
Reading pipe: git rev-parse --symbolic --remotes
Reading pipe: git rev-parse p4/master
p4-git branches: []
initial parents: {}
Getting p4 changes for //depot/...
p4 -u mkramer -c mkramer changes //depot/...
Reading pipe: p4 -u mkramer -c mkramer changes //depot/...
Request too large (over 110000); see 'p4 help maxresults'.
Traceback (most recent call last):
File "/home/mkramer/git/bin/git-p4", line 1924, in <module>
main()
File "/home/mkramer/git/bin/git-p4", line 1919, in main
if not cmd.run(args):
File "/home/mkramer/git/bin/git-p4", line 1671, in run
changes = p4ChangesForPaths(self.depotPaths, self.changeRange)
File "/home/mkramer/git/bin/git-p4", line 444, in p4ChangesForPaths
for p in depotPaths]))
File "/home/mkramer/git/bin/git-p4", line 108, in p4_read_pipe_lines
return read_pipe_lines(real_cmd)
File "/home/mkramer/git/bin/git-p4", line 101, in read_pipe_lines
die('Command failed: %s' % c)
File "/home/mkramer/git/bin/git-p4", line 59, in die
raise Exception(msg)
Exception: Command failed: p4 -u mkramer -c mkramer changes //depot/...
Is this a limitation in the current --use-client-spec or --detect-branches
flags, or am I doing it wrong?
--
View this message in context: http://git.661346.n2.nabble.com/P4-Sync-problem-tp3979793p5326585.html
Sent from the git mailing list archive at Nabble.com.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-07-22 18:22 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-10 13:56 P4 Sync problem Dmitry Smirnov
2009-11-11 8:43 ` Tor Arvid Lund
2009-11-11 9:43 ` Dmitry Smirnov
2009-11-11 12:00 ` Tor Arvid Lund
2009-11-11 12:39 ` Dmitry Smirnov
2009-11-11 13:54 ` Tor Arvid Lund
2009-11-11 14:57 ` Dmitry Smirnov
2010-07-22 18:21 ` masonk
2009-11-15 13:00 ` Pete Wyckoff
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).