In Subversion, is it possible to check out only those files affected during a specific commit, provided you know the specific revision number?
相关问题
- How can I set the SVN password with Emacs 23.1 bui
- If statements in .htaccess files, to enable passwo
- SVN+SSH checkout over VPN using tortoise SVN, Smar
- SVN+SSH checkout over VPN using tortoise SVN, Smar
- Mercurial compared to private branches in SVN
相关文章
- Is there a version control system abstraction for
- Intermittent “SVNException: svn: E175002: Connecti
- IntelliJ Subversion Authentication Required Dialog
- TortoiseHG and hgsubversion (Windows): “no module
- Incompatible JavaHl library loaded
- TFS vs. JIRA/Bamboo/SVN [closed]
- converting svn repo to git using reposurgeon
- SVN查看日志超时
you can get a list of files modified since a specific revision like this:
then create a script to checkout each file in the fileschanged.txt
svn mergeinfo --show-revs eligible http://base.com.rev1 http://base.com.rev2
This will give a lot of revisions
Now you would like to see the list of files in each revision. So take the list of revision and copy into note pad or editplus and modify so that they fit into one line
svn log -r r33521 -r33762 -3456 -r5623 -q -v >> missedFiles.txt
Note : I had 118 revisions and I was not able to get the list of files correctly. So i ran the above command by breaking into subsets of revision
I think it's possible that you're using the term "check out" here in its CVS sense, that is, an "svn update". Is that right?
If so, then you can update to the particular revision that you want:
or even just those files to that revision:
though you'll have to get the list of files from svn using some of the other suggestions.
I needed a dump of all the files that had changed within a range of a dozen revisions. I did it like so (these commands may not be perfect, this is just a general explanation):
Create a diff that will show the files you need and write the list to a text file
This will give you a text file with lines like
Massage the file format to replace the beginning of each line with an 'svn up' command, instead of 'A ' or 'M ' or whatever.
... which will give you lines like
Create a new directory and check out your project to it
Remove everything in the directory except the .svn file (I'm using a relatively recent svn client so if you're on an old svn client that has a .svn in every directory, not sure how that will work)
Copy in your text file, make it executable, and run it as a script.
If all goes as planned, then shell should parse each 'svn up' command in your text file and populate the directory with only the files that you're interested in.
I think that a Subversion check out can only check out a specific folder and not individual files. That said, the command:
will list the changes associated with the specified revision so you could process the output of this command to help copy the desired files to somewhere after checking out a working folder for the full directory.
svn checkout
only works at the directory level, not the file level. Of course, if all the changes in a specific changeset were from the same directory, then you can perform thesvn checkout <url> <path> -r<revid>
.