[Distutils] setuptools include_package_data ignore data under a 'package'?
Trent Mick
trentm at ActiveState.com
Wed Jan 25 03:14:15 CET 2006
[Phillip J. Eby wrote]
> Yeah, this is actually on my list, just haven't got 'round to it yet. For
> systems that include their control data in-band (as files/dirs in the
> project area) it's pretty easy, but my impression was that most things
> besides CVS and Subversion don't do this. It would help if folks using the
> other tools could give some idea of how you go about finding tracked files
> using them, so I could get a better idea of how the extension API should work.
If I understand what you are asking here, you get the list of Perforce
files in the current client view (kinda the equivalent of an SVN working
copy) with the "p4 have ./..." command:
$ p4 help have
have -- List revisions last synced
p4 have [ file ... ]
List revisions of named files that were last synced from the depot.
If no file name is given list all files synced on this client.
The format is
depot-file#revision - client-file
$ p4 have ./...
//depot/main/Apps/ActivePython-devel/README.txt#9 - c:\trentm\as\ActivePython-devel\README.txt
...
Some notes:
- Why "./..."?
Firstly, you need to specify a path argument because otherwise p4
defaults to the *whole* client view, which may (and likely does)
include directories outside of your current dir.
Secondly, "..." is Perforce's way of say "recursively under the given
directory". So "./..." as a path argument effectively makes a p4
command behave like an svn/cvs command's default: recursively under
the current dir.
- If you *do* get into the business of doing this Perforce stuff, you
may want to steal from or use my "p4lib.py" (either of which you are welcome
todo -- MIT license):
http://trentm.com/projects/px/p4lib.py
which provides parsing of some of the common p4 commands. (It is not
perfect and arguably the Right Thing for Python/Perforce bindings
would use Perforce's C++ API. 'p4lib.py' does have the benefit of
being pure Python.)
>>> import p4lib, sys, pprint
>>> sys.displayhook = pprint.pprint
>>> p4 = p4lib.P4()
>>> p4.have("./...")
[{'depotFile': '//depot/main/Apps/ActivePython-devel/README.txt',
'localFile': 'c:\\trentm\\as\\ActivePython-devel\\README.txt',
'rev': 9},
...
]
Cheers,
Trent
--
Trent Mick
TrentM at ActiveState.com
More information about the Distutils-SIG
mailing list