path: root/Documentation/git-svn.txt
AgeCommit message (Collapse)Author
2010-07-30git svn: add an option to recode pathnamesDmitry Statyvka
Introduce a new option 'svn.pathnameencoding' that instructs git svn to recode pathnames to a given encoding. It can be used by windows users and by those who work in non-utf8 locales to avoid corrupted file names with non-ascii characters. [rp: renamed the option and added manpage documentation] Signed-off-by: Dmitry Statyvka <> Signed-off-by: Robert Pollak <> Acked-by: Eric Wong <>
2010-05-09git-svn documentation: minor grammar fixÆvar Arnfjörð Bjarmason
Use the definite article when talking about a configuration property. Signed-off-by: Ævar Arnfjörð Bjarmason <> Acked-by: Eric Wong <>
2010-01-23git-svn: allow subset of branches/tags to be specified in glob specJay Soffian
For very large projects it is useful to be able to clone a subset of the upstream SVN repo's branches. Allow for this by letting the left-side of the branches and tags glob specs contain a brace-delineated comma-separated list of names. e.g.: branches = branches/{red,green}/src:refs/remotes/branches/* Signed-off-by: Jay Soffian <> Acked-by: Eric Wong <>
2010-01-23git-svn: allow UUID to be manually remapped via rewriteUUIDJay Soffian
In certain situations it may be necessary to manually remap an svn repostitory UUID. For example: o--- [git-svn clone] / [origin svn repo] \ o--- [svnsync clone] Imagine that only "git-svn clone" and "svnsync clone" are made available to external users. Furthur, "git-svn clone" contains only trunk, and for reasons unknown, "svnsync clone" is missing the revision properties that normally provide the origin svn repo's UUID. A git user who has cloned the "git-svn clone" repo now wishes to use git-svn to pull in the missing branches from the "synsync clone" repo. In order for git-svn to get the history correct for those branches, it needs to know the origin svn repo's UUID. Hence rewriteUUID. Signed-off-by: Jay Soffian <> Acked-by: Eric Wong <>
2010-01-23git-svn: document --username/commit-url for branch/tagIgor Mironov
[ew: shortened subject] Signed-off-by: Igor Mironov <> Acked-by: Eric Wong <>
2009-11-17Document git-svn's first-parent ruleThomas Rast
git-svn has the following rule to detect the SVN base for its operations: find the first git-svn-id line reachable through first-parent ancestry. IOW, git log --grep=^git-svn-id: --first-parent -1 Document this, as it is very important when using merges with git-svn. Signed-off-by: Thomas Rast <>
2009-11-16git svn: attempt to create empty dirs on clone+rebaseEric Wong
We parse unhandled.log files for empty_dir statements and make a best effort attempt to recreate empty directories on fresh clones and rebase. This should cover the majority of cases where users work off a single branch or for projects where branches do not differ in empty directories. Since this cannot affect "normal" git commands like "checkout" or "reset", so users switching between branches in a single working directory should use the new "git svn mkdirs" command after switching branches. Signed-off-by: Eric Wong <>
2009-08-19git-svn.txt: Fix location of parent argumentTuomas Suutari
The note about interoperating in different timezones and such is about localtime argument, not parent. Signed-off-by: Tuomas Suutari <> Acked-by: Eric Wong <>
2009-07-25git svn: revert default behavior for --minimize-urlEric Wong
This reverts the --minimize-url behavior change that appeared recently in commit 0b2af457a49e3b00d47d556d5301934d27909db8 ("Fix branch detection when repository root is inaccessible"). However, we now allow the option to be turned off by allowing "--no-minimize-url" so people with limited-access setups can still take advantage of the fix in 0b2af457a49e3b00d47d556d5301934d27909db8. Also document the behavior and default settings of minimize-url in the manpage for the first time. This introduces a temporary UI regression to allow t9141 to pass that will be reverted (fixed) in the next commit. Signed-off-by: Eric Wong <>
2009-07-25git svn: add gc commandRobert Allan Zeh
Add a git svn gc command that gzips all unhandled.log files, and removes all index files under .git/svn. Signed-off-by: Robert Allan Zeh <> Signed-off-by: Eric Wong <>
2009-07-08git-svn.txt: fix description of fetch flags accepted by clone.Yann Dirson
Signed-off-by: Yann Dirson <> Acked-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2009-07-08git-svn.txt: fix fetch flags incorrectly documented as init flags.Yann Dirson
Signed-off-by: Yann Dirson <> Acked-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2009-07-08git-svn.txt: make formatting more consistent.Yann Dirson
- correctly link paragraphs within list items - consistently format examples - put option alernatives on separate lines - always use [verse] for config items - always indent 1st paragraph of a list item, with a tab Signed-off-by: Yann Dirson <> Acked-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2009-07-08git-svn.txt: stop using dash-form of commands.Yann Dirson
Also consistently use single quotes around git commands to make things clear (was only needed at a couple of places). Signed-off-by: Yann Dirson <> Acked-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2009-06-27git svn: Doc update for multiple branch and tag pathsMarc Branchaud
Signed-off-by: Marc Branchaud <> Acked-by: Eric Wong <>
2009-06-25Add 'git svn reset' to unwind 'git svn fetch'Ben Jackson
Add a command to unwind the effects of fetch by moving the rev_map and refs/remotes/git-svn back to an old SVN revision. This allows revisions to be re-fetched. Ideally SVN revs would be immutable, but permissions changes in the SVN repository or indiscriminate use of '--ignore-paths' can create situations where fetch cannot make progress. Signed-off-by: Ben Jackson <> Acked-by: Eric Wong <>
2009-06-25git-svn: let 'dcommit $rev' work on $rev instead of HEADThomas Rast
'git svn dcommit' takes an optional revision argument, but the meaning of it was rather scary. It completely ignored the current state of the HEAD, only looking at the revisions between SVN and $rev. If HEAD was attached to $branch, the branch lost all commits $rev..$branch in the process. Considering that 'git svn dcommit HEAD^' has the intuitive meaning "dcommit all changes on my branch except the last one", we change the meaning of the revision argument. git-svn temporarily checks out $rev for its work, meaning that * if a branch is specified, that branch (_not_ the HEAD) is rebased as part of the dcommit, * if some other revision is specified, as in the example, all work happens on a detached HEAD and no branch is affected. Signed-off-by: Thomas Rast <> Acked-by: Eric Wong <>
2009-06-21Merge branch 'maint'Junio C Hamano
* maint: git-show-ref.txt: remove word and make consistent git-svn documentation: fix typo in 'rebase vs. pull/merge' section
2009-06-21Merge branch 'maint-1.6.2' into maintJunio C Hamano
* maint-1.6.2: git-show-ref.txt: remove word and make consistent git-svn documentation: fix typo in 'rebase vs. pull/merge' section use xstrdup, not strdup in ll-merge.c
2009-06-21Merge branch 'maint-1.6.1' into maint-1.6.2Junio C Hamano
* maint-1.6.1: git-show-ref.txt: remove word and make consistent git-svn documentation: fix typo in 'rebase vs. pull/merge' section use xstrdup, not strdup in ll-merge.c
2009-06-21Merge branch 'maint-1.6.0' into maint-1.6.1Junio C Hamano
* maint-1.6.0: git-show-ref.txt: remove word and make consistent git-svn documentation: fix typo in 'rebase vs. pull/merge' section use xstrdup, not strdup in ll-merge.c
2009-06-21git-svn documentation: fix typo in 'rebase vs. pull/merge' sectionMiklos Vajna
Signed-off-by: Miklos Vajna <> Signed-off-by: Junio C Hamano <>
2009-05-21git-svn: add --authors-prog optionMark Lodato
Add a new option, --authors-prog, to git-svn that allows a more flexible alternative (or supplement) to --authors-file. This allows more advanced username operations than the authors file will allow. For example, one may look up Subversion users via LDAP, or may generate the name and email address from the Subversion username. Notes: * If both --authors-name and --authors-prog are given, the former is tried first, falling back to the later. * The program is called once per unique SVN username, and the result is cached. * The command-line argument must be the path to a program, not a generic shell command line. The absolute path to this program is taken at startup since the git-svn script changes directory during operation. * The option is not enabled for `git svn log'. [ew: fixed case where neither --authors-(name|prog) were defined] Signed-off-by: Mark Lodato <> Acked-by: Eric Wong <>
2009-04-23Documentation: git-svn: fix a grammatical error without awkwardnessWesley J. Landaker
The way the sentence is currently written, there needs to be an "its", but this leads to: "however the remote wildcard may be anywhere as long as it's its own" which is awkward to read. Instead, this patch fixes he grammar in a simpler way. Signed-off-by: Wesley J. Landaker <> Signed-off-by: Junio C Hamano <>
2009-04-23Documentation: git-svn: fix spurious bolding that mangles the outputWesley J. Landaker
Without this fix, the output looks like: "Keep in mind that the (asterisk) wildcard of the local ref (right of the :) *must be the ..." -- with half the sentence spuriously bold. This fixes the problem by simply escaping asciidoc syntax as suggested by Jeff King <>. Signed-off-by: Wesley J. Landaker <> Signed-off-by: Junio C Hamano <>
2009-04-12git-svn: Save init/clone --ignore-paths in configBen Jackson
The --ignored-paths argument is now stored as "svn-remote.$REMOTE_NAME.ignore-paths" in the config file. [ew: edited subject and message] Signed-off-by: Ben Jackson <> Acked-by: Eric Wong <>
2009-04-12git-svn: Add per-svn-remote ignore-paths configBen Jackson
The --ignore-paths option to fetch is very useful for working on a subset of a SVN repository. For proper operation, every command that causes a fetch (explicit or implied) must include a matching --ignore-paths option. This patch adds a persistent svn-remote.$repo_id.ignore-paths config by promoting Fetcher::is_path_ignored to a member function and initializing $self->{ignore_regex} in Fetcher::new. Command line --ignore-paths is still recognized and acts in addition to the config value. Signed-off-by: Ben Jackson <> Acked-by: Eric Wong <>
2009-04-12git-svn: add fetch --parent optionJason Merrill
Signed-off-by: Jason Merrill <> Acked-By: Eric Wong <>
2009-04-02Documentation: git-svn: fix trunk/fetch svn-remote key typoWesley J. Landaker
Fix the git-svn documentation svn-remote example section talking about tags and branches by using the proper key "fetch" instead of "trunk". Using "trunk" actually might be nice, but it doesn't currently work. The fetch line for the trunk was also reordered to be at the top of the list, since most people think about the trunk/tags/branches trio in that logical order. Signed-off-by: Wesley J. Landaker <> Acked-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2009-03-31git-svn: add a double quiet option to hide git commitsSimon Arlott
People may expect/prefer -q to still show git commits, so this change allows a second -q to hide them. Signed-off-by: Michael Poole <> Signed-off-by: Simon Arlott <> Acked-by: Eric Wong <>
2009-02-23git-svn: read the dcommit url from the config file on a per remote basisPeter Oberndorfer
The commit url for dcommit is determined in the following order: commandline option --commit-url svn.commiturl svn-remote.<name>.commiturl svn-remote.<name>.url Signed-off-by: Peter Oberndorfer <> Acked-by: Eric Wong <>
2009-02-11git-svn: allow disabling expensive broken symlink checksEric Wong
Since dbc6c74d0858d77e61e092a48d467e725211f8e9, git-svn has had an expensive check for broken symlinks that exist in some repositories. This leads to a heavy performance hit on repositories with many empty blobs that are not supposed to be symlinks. The workaround is enabled by default; and may be disabled via: git config svn.brokenSymlinkWorkaround false Reported by Markus Heidelberg. Signed-off-by: Eric Wong <>
2009-01-26git-svn: documented --ignore-pathsVitaly \"_Vi\" Shukela
Documented --ignore-paths option of git-svn to inform users about the feature and provide some examples. Signed-off-by: Vitaly "_Vi" Shukela <> Acked-by: Eric Wong <> [ew: trailing whitespace removed]
2009-01-18git-svn: Add --localtime option to "fetch"Pete Harlan
By default git-svn stores timestamps of fetched commits in Subversion's UTC format. Passing --localtime to fetch will convert them to the timezone of the server on which git-svn is run. This makes the timestamps of a resulting "git log" agree with what "svn log" shows for the same repository. Signed-off-by: Pete Harlan <> Acked-by: Eric Wong <>
2008-11-27Merge branch 'rw/maint-typofix' into rw/typofixJunio C Hamano
* rw/maint-typofix: Fix typos in the documentation.
2008-11-27Fix typos in the documentation.Ralf Wildenhues
Signed-off-by: Ralf Wildenhues <> Signed-off-by: Junio C Hamano <>
2008-11-15Merge branch 'maint'Junio C Hamano
* maint: Documentation: git-svn: fix example for centralized SVN clone Documentation: fix links to "everyday.html" revision.c: use proper data type in call to sizeof() within xrealloc
2008-11-15Documentation: git-svn: fix example for centralized SVN cloneJan Krüger
The example that tells users how to centralize the effort of the initial git svn clone operation doesn't work properly. It uses rebase but that only works if HEAD exists. This adds one extra command to create a somewhat sensible HEAD that should work in all cases. Signed-off-by: Jan Krüger <> Acked-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2008-10-06Add git-svn branch to allow branch creation in SVN repositoriesFlorian Ragwitz
[ew: fixed a warning to stderr causing t9108 to fail] Signed-off-by: Florian Ragwitz <> Signed-off-by: Deskin Miller <> Acked-by: Eric Wong <> Signed-off-by: Shawn O. Pearce <>
2008-09-30Replace with in git-svn docs (RFC 2606)Michael Prokop is an existing domain, use RFC 2606 complying instead as used in other docs as well. Signed-off-by: Michael Prokop <> Signed-off-by: Shawn O. Pearce <>
2008-08-08git-svn: add ability to specify --commit-url for dcommitEric Wong
This allows one to use public svn:// URLs for fetch and svn+ssh:// URLs for committing (without using the complicated rewriteRoot option, reimporting or git-filter-branch). Using this can also help avoid unnecessary server authentication/encryption overhead on busy SVN servers. Along with the new --revision option, this can also be allowed to override the branch detection in dcommit, too. This is potentially dangerous and not recommended! (And also purposely undocumented, but the loaded gun is there in case somebody wants to make it safe). Signed-off-by: Eric Wong <> Signed-off-by: Junio C Hamano <>
2008-08-06Documentation: typos / spelling fixesMike Ralphson
Signed-off-by: Mike Ralphson <> Signed-off-by: Junio C Hamano <>
2008-07-30Documentation: Remove mentions of git-svnimport.Brian Gernhardt
git-svnimport is no longer supported, so don't mention it in the documentation. This also updates the description, removing the historical discussion, since it mostly dealt with how it differed from svnimport. The new description gives some starting points into the rest of the documentation. Noticed by Jurko Gospodnetić <> Signed-off-by: Brian Gernhardt <> Signed-off-by: Junio C Hamano <>
2008-07-05manpages: italicize git subcommand names (which were in teletype font)Jonathan Nieder
Italicize those git subcommand names already in teletype we missed. Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2008-07-05manpages: italicize nongit command names (if they are in teletype font)Jonathan Nieder
Some manual pages use teletype font to set command names. We change them to use italics, instead. This creates a visual distinction between names of commands and command lines that can be typed at the command line. It is also more consistent with other man pages outside Git. In this patch, the commands named are non-git commands like bash. Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2008-07-05manpages: italicize git command names (which were in teletype font)Jonathan Nieder
The names of git commands are not meant to be entered at the commandline; they are just names. So we render them in italics, as is usual for command names in manpages. Using doit () { perl -e 'for (<>) { s/\`(git-[^\`.]*)\`/'\''\1'\''/g; print }' } for i in git*.txt config.txt diff*.txt blame*.txt fetch*.txt i18n.txt \ merge*.txt pretty*.txt pull*.txt rev*.txt urls*.txt do doit <"$i" >"$i+" && mv "$i+" "$i" done git diff . Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2008-07-02Documentation formatting and cleanupJonathan Nieder
Following what appears to be the predominant style, format names of commands and commandlines both as `teletype text`. While we're at it, add articles ("a" and "the") in some places, italicize the name of the command in the manual page synopsis line, and add a comma or two where it seems appropriate. Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2008-07-02Documentation: be consistent about "git-" versus "git "Jonathan Nieder
Since the git-* commands are not installed in $(bindir), using "git-command <parameters>" in examples in the documentation is not a good idea. On the other hand, it is nice to be able to refer to each command using one hyphenated word. (There is no escaping it, anyway: man page names cannot have spaces in them.) This patch retains the dash in naming an operation, command, program, process, or action. Complete command lines that can be entered at a shell (i.e., without options omitted) are made to use the dashless form. The changes consist only of replacing some spaces with hyphens and vice versa. After a "s/ /-/g", the unpatched and patched versions are identical. Signed-off-by: Jonathan Nieder <> Signed-off-by: Junio C Hamano <>
2008-06-28fix git config example syntaxJoey Hess
git-config expects a space, not '=' between option and value. Also, quote the value since it contains globs, which some shells will not pass through unchanged, or will abort if the glob doesn't expand. Signed-off-by: Joey Hess <> Signed-off-by: Junio C Hamano <>
2008-06-19Documentation: fix formatting in git-svnJan Krüger
Due to a misplaced list block separator, general hints about the config file options got indented at the same level as the description of the last option, making it easy to miss them. Signed-off-by: Jan Krüger <> Signed-off-by: Junio C Hamano <>