commit 539de0386876ed470f2ae6be90a98421493b3c90 Author: Sebastian Pipping Date: Thu May 9 00:45:27 2013 +0200 Stop unintended re-encoding of author names from UTF-8 to ASCII To see the bug in action, use an author map with umlauts, e.g. nickname = Hällo Wörld from UTF-8 and check "git log" after the conversion. What is happening? QByteArray "author" is first decoded as UTF-8 into a QString. That QString is passed to QByteArray::append(const QString &) which internally encodes the QString to ASCII byte data using QString::toAscii(). "git fast-import" expects UTF-8 input from us, so the original QByteArray with UTF-8 content is just what we need. commit 4a1e11c6ceb17b764c613778d8ce408f0aa28a48 Author: Sebastian Pipping Date: Thu May 9 00:45:27 2013 +0200 Stop unintended re-encoding of author names from UTF-8 to ASCII To see the bug in action, use an author map with umlauts, e.g. nickname = Hällo Wörld from UTF-8 and check "git log" after the conversion. What is happening? QByteArray "author" is first decoded as UTF-8 into a QString. That QString is passed to QByteArray::append(const QString &) which internally encodes the QString to ASCII byte data using QString::toAscii(). "git fast-import" expects UTF-8 input from us, so the original QByteArray with UTF-8 content is just what we need. commit b5c3d3aa55621c44db439e4a73884e0d0bf9612c Author: Ulrich Spörlein Date: Wed Nov 28 21:58:44 2012 +0100 Fix compilation, the last rebase/merge went wrong. Noticed by: Andy Pilate commit 4d4456f422bae0dfdd514ed42801889bd66b6fa0 Author: Ulrich Spörlein Date: Tue Nov 20 17:29:00 2012 +0100 Use fastimport.write for the actual commit objects too, so we get logging when --debug-rules is turned on. commit bd5e2c4c66543b59950380f6c6549debe8d4d0b3 Author: Ulrich Spörlein Date: Sun Nov 18 15:54:19 2012 +0100 Remove unused includes. Forgotten by yours truly in commit 1234336. commit 123433669f472eb7eee31f62ea1601f545a31587 Author: Ulrich Spörlein Date: Fri Nov 23 10:32:35 2012 +0100 Make conversion runs deterministic by sorting what's returned via hash from the SVN API. An SVN commit spanning multiple paths that shall be turned into multiple branches in git would result in the git commits to be fed into git fast-import in arbitrary order. This is problematic for merge commits, as it means the list of parent commits for the merge commit will have an arbitrary order. Fix this by always handling the paths in an SVN commit in order. This makes svn2git conversion runs reproducible. Unfortunately, commits where paths have been removed and added again, might no longer be handled correctly. I haven't found such a case in the FreeBSD repository however. This is IHMO a bug in git, but it all hinges on semantics like list of parents vs. set of parents and how you define a hash on a set of objects that have no natural order. commit 8314eb23393db323b4bb5e34a9ad4e8ebc4014fb Author: Torgny Nyblom Date: Mon Nov 26 14:45:11 2012 +0100 Revert "Remove the branch copy heuristic" This reverts commit c0187417902b10698135727d911ab9018f4941eb. commit 2f358636414d086e6576a0b0341c532b1e7fc1a3 Merge: c9376cf c59389c Author: Torgny Nyblom Date: Fri Nov 23 16:06:43 2012 +0100 Merge commit 'refs/merge-requests/17' of gitorious.org:svn2git/svn2git into mr/17 commit c9376cfbe605a5bad26b76d113f9060d5cdf8753 Merge: 2baedda 8f8d4c7 Author: Torgny Nyblom Date: Fri Nov 23 15:55:26 2012 +0100 Merge commit 'refs/merge-requests/20' of gitorious.org:svn2git/svn2git into mr/20 commit 8f8d4c770ac4884dc6c7909a342b27b28f23cbd9 Author: Daniel Hagerty Date: Sun Oct 7 15:26:26 2012 +0200 Set marks on notes, so fast-load picks up from previous state. This should fix the notes upon successive, incremental conversions. commit c0187417902b10698135727d911ab9018f4941eb Author: Ulrich Spörlein Date: Wed Sep 19 21:59:35 2012 +0200 Remove the branch copy heuristic The FreeBSD project has a different approach to branches than the standard SVN or GIT models of how branches should work. An MFC from head/ to stable/8 is a cherry-pick in git and should never result in a merge commit. Sadly, this means that "IFCs" from head/ to project/foo also no longer are merge commits, though they really are ... Reported by: Ryan Stone commit 2baedda2b06277544e3356670fd03e7e020d2abc Author: Torgny Nyblom Date: Tue Aug 21 16:43:48 2012 +0200 Revert "Do not initialize master branch if branches were specified in the ruleset." This reverts commit 2ce7467917ef046dd9abfb1eb5464cd1ee7c7726. commit b46f9a8efb1799fc904150a4e2df4c055e29e8f7 Merge: 38a1db5 2ce7467 Author: Torgny Nyblom Date: Tue Aug 21 16:42:44 2012 +0200 Merge commit 'refs/merge-requests/13' of git://gitorious.org/svn2git/svn2git into merge-requests/13 commit 38a1db5a45a5f727563fd3b26148766dce835173 Merge: 13843b3 9edbcf8 Author: Torgny Nyblom Date: Tue Aug 21 16:33:02 2012 +0200 Merge commit 'refs/merge-requests/16' of git://gitorious.org/svn2git/svn2git into merge-requests/16 commit 13843b3a6d521489ee58ebf9e3218e1317756e19 Author: Manuel Naranjo Date: Tue Aug 7 15:24:14 2012 -0300 Prefix rules should keep spaces if they are part of the rule This patch fixes a small bug with prefix rules where a prefix like: prefix I\ Am\ A\ Very\ Ugly\ Path/ will not match as the match was made against \S and not .* making the spaces not part of the match. Signed-off-by: Manuel Naranjo commit c59389ceed6214d85011a91263d935f46a501632 Author: Sebastian Dörner Date: Thu Jul 12 19:01:47 2012 +0100 Match rules for files below a recursion commit 9edbcf89ef97ae2d6886d5a6b9e30f9ff923c96d Author: Florian Zumkeller-Quast Date: Wed Jun 13 16:28:34 2012 +0200 Fixed git-svn authors map compatiblity. SVN is able to use committer/author names with whitespaces inside. In this case, the git-svn author map is the better format. The first whitespace is not a good identifier as separator but the first ' = ' sequence is. Changed the behaviour to fix this. commit 51e59b58c2deb94312a72291be0d76749010e015 Author: Ulrich Spörlein Date: Sat May 12 17:53:42 2012 +0200 Fix timestamps of notes to adhere to git standards by using +0000 instead of -0000. commit 2ae83eb1c5f9b4560e3fa808cb883829c7973a4a Author: Ulrich Spörlein Date: Tue Sep 28 22:01:29 2010 +0200 Allow user-overriding of default email domain Lazy projects where svn user X has email X@project.org don't need to compile (and update) an identity-map for rolling conversions. This can be mixed with a real identity-map, so only misses in the map will have the user then show up as X@project.org Also change the defaults somewhat. I don't like the NFS reserved username nobody to show up in SVN or git logs, but am keeping that for now. commit 371abece8cbaf9d0c396c3ab8d4fdd1ab2718e7d Author: Nicolás Alvarez Date: Tue Apr 17 15:50:41 2012 -0300 Remove stray backslash in source code. It completely screws up KDevelop's highlighting... commit 149d6c6e14a1724c96999328683a9264fc508264 Author: Modestas Vainius Date: Sat May 28 15:01:51 2011 +0300 Properly expand multiple variables in the same line. When were two or more different variables in the same line, ruleparser used to expand the first one and replace *all* variables (since all variables are matches of variableLine regexp) with that expanded value. The corrent way is to replace that exact variable reference with the expanded value. commit 253665969d75816736ba3979fc015a11308d02a8 Merge: 4c241d5 22f5339 Author: Torgny Nyblom Date: Sun May 8 09:31:13 2011 +0200 Merge commit 'refs/merge-requests/14' of gitorious.org:svn2git/svn2git into merge-requests/14 commit 4c241d532e2f07c7f1c188cebebb712b752ed1ed Merge: e8a16c9 c630dd7 Author: Torgny Nyblom Date: Sun May 8 09:19:57 2011 +0200 Merge commit 'refs/merge-requests/12' of git://gitorious.org/svn2git/svn2git into merge-requests/12 Conflicts: src/ruleparser.cpp commit c630dd763cf6ec096489bea551ca959540969c94 Author: Modestas Vainius Date: Sun Apr 24 22:46:23 2011 +0300 Support substitutions for repository/branch names. This patch adds support for 's///' style substitutions for the repository/branch names in the match rulesets. Useful when e.g. eliminating characters not supported in git branch names. Syntax: match /... repository some_repo substitute repository s/pattern/replacement/ branch some_branch substitute branch s/pattern/replacement/ end match commit e8a16c9a47eef7c625686d2a868ec91d05fd95c5 Author: Modestas Vainius Date: Sun Apr 24 22:25:57 2011 +0300 Support 'description' field in the create repository rule. Its value is used to fill in repository/description file used by gitweb. commit 2ce7467917ef046dd9abfb1eb5464cd1ee7c7726 Author: Modestas Vainius Date: Sun Jul 18 20:01:41 2010 +0300 Do not initialize master branch if branches were specified in the ruleset. commit d257d0e911a18d2c248fc44328917ef209542a95 Author: Modestas Vainius Date: Sun Jul 18 20:00:14 2010 +0300 Initialize branches specified in the create repository ruleset. Otherwise, what's the point of that directive. Sometimes repository does not start from the master branch. commit 97a6dc9b7672d324451a6f941aa7af5537aeafaa Author: Modestas Vainius Date: Sun Apr 24 22:13:28 2011 +0300 Do not recurse() into the svn path unless it is an existing directory. Otherwise "action recurse" may fail on files or something else unknown. commit 22f53393d5adc5674e636d79c4a61137015be12b Author: Modestas Vainius Date: Sun Apr 24 19:33:54 2011 +0300 Add support for adding svn commit info metadata as git notes. The patch add --add-metadata-notes command line option which is similar to --add-metadata except rather embedding svn commit info into the commit message, it is added as a note for the respective commit. commit 197979b6a641b8b5fa4856c700b1235491c73a41 Author: Nicolás Alvarez Date: Mon Apr 18 02:23:13 2011 -0300 Use +0000 instead of -0000 for timezone indicator in timestamps. Git seems to always output +0000, so when filter-branching, every single commit changes hash because dates are changed from - to +0. commit 1a41c9661e837e2463c492693d4526df8cc0538c Author: Nicolás Alvarez Date: Mon Apr 11 18:43:40 2011 -0300 Add support for default values in variable substitutions. If there is no variable 'foo' set, ${foo} exits with a fatal error. With this patch, you can use ${foo|sometext}, which will substitute to 'sometext' if the variable 'foo' isn't set. The default text may be empty. commit 7f27c60c636ff4ea63de11229bb5fe842e4e3ca7 Author: Nicolás Alvarez Date: Mon Apr 11 18:36:37 2011 -0300 Limit variable names to letters, numbers and underscores. The parser used to allow any non-whitespace character, which could cause problems in practice. For example, you could create a variable with } or = in the name, or a character we may want to use in a syntax extension later. commit 9677b1fea3ab82db3e9185439938d9e2380e02d4 Author: Sebastian Pipping Date: Fri Apr 8 07:16:44 2011 +0200 Save deleted branches in a visible namespace - The branch is first created properly and then deleted (line "progress SVN r77 branch config-header = :0 # delete") - Jehan's post-1.0.3 commit 584005f2e26149282aa12c4a0367d250caaf3918 writes a backup of the branches latest ref to refs/backup/ on deletion. Many thanks for that commit! However, in my opinion the problem with the current code is that it makes it much too easy to lose history during the conversion to Git. Without a tag or branch pointing to it the commits will fall off easily, especially if people use "git clone" on the bare Git repository created by svn2git. It would be safer and useful to create visible tags for this, e.g. refs/tags/branch-bugfix17-deleted. My attached patch changes Jehan's code to do just that. Please consider application - this patch really matters to me. If you'd rather have both a ref in refs/backup/ and in refs/tags/ or require a command line option for it I can adjust the patch for you. Thanks for listening, commit 584005f2e26149282aa12c4a0367d250caaf3918 Author: Jehan Bing Date: Thu Mar 10 10:54:52 2011 -0800 Create backup reference before deletion of the original branch Ensure that the backup reference is created before deleting the original branch. As it was, the deletion was executed earlier causing the backup reference to point to a non-existing branch so was not created. commit 34f881571e48b6fb71f687944ff4420d589a6d22 Author: Nicolás Alvarez Date: Wed Mar 16 17:37:22 2011 -0300 Remove unnecessary const casts. commit d5603d03c2ab105c60e6cb43a754b5285e21b667 Author: Torgny Nyblom Date: Mon Feb 7 20:37:39 2011 +0100 Commit branch creation when requested and not on next transaction commit Branches was created by adding the command to a list, this list was then written to git when the next transaction was committed. This had the side effect that if the branch creation was the last thing the branch was never created. commit b3653663ad6a13f80a4928e46e2afcee00f604ce Author: Nicolás Alvarez Date: Sat Jan 29 17:38:34 2011 -0300 Fix encoding of author names. Author names were being properly passed through fromUtf8(), but then sent to a QTextStream using the system's locale. This patch forces the text stream to always use UTF-8. commit 4aa6db803febef30308f81e168a4d49146ebc8e4 Author: Torgny Nyblom Date: Mon Jan 17 10:30:21 2011 +0100 Support ranges in the revisions file commit e591675e7a3572bfd002aa5a4019d626a27e1694 Author: Torgny Nyblom Date: Sun Jan 16 06:55:43 2011 +0100 Delay transaction creation untill usage. This might fix the issue with an extra empty diff commit before all tags. commit b6c93984d2e0ed7f0fb276e99903b7f19cceaf17 Author: Torgny Nyblom Date: Sat Jan 15 20:51:59 2011 +0100 Print how we were invoked commit 812614b8ef3cb7ca84170ba8acb3616ee477a37a Author: Torgny Nyblom Date: Sat Jan 15 19:49:42 2011 +0100 Only print warning if it applies commit ebac0993e896d18e0809fbb1167edf99b2677ac3 Author: Nicolás Alvarez Date: Thu Dec 23 17:28:52 2010 -0300 Fix serious performance regression. In Repository::commit, don't call startFastImport() if we have nothing to write to the fastImport stream. startFastImport() may start new git-fast-import processes if they were previously killed, so it may be extremely slow to call it frequently if it's not necessary. commit 409d8bc4cbaade82672f251c45178c3cfed4619d Author: Torgny Nyblom Date: Tue Dec 21 14:49:54 2010 +0100 Add option for using the real content of an SVN branch when creating a new branch instead of using the contents of the git "from" branch. commit 508a67a69eafd07a2e1ce9020983e7113b91d919 Author: Torgny Nyblom Date: Tue Dec 21 10:30:15 2010 +0100 Fix the --version option When supplying --version the git commit that was used to create the version should be printed to stdout. commit d57295761cdea09bc93a73c0189c971da29b92a4 Author: Torgny Nyblom Date: Thu Dec 16 11:34:39 2010 +0100 Make sure that there are merges recorded before trying to read the last one commit 1eacf0f983ef27e8795460b9dc5973f2fb063864 Author: Torgny Nyblom Date: Thu Dec 16 09:52:10 2010 +0100 Try and fix cvs2svn multiple merge points for branches and tags. Might still need some logic for detecting the correct from branch. commit 492e425464979642f9de20a1340ab328d50c7312 Author: Torgny Nyblom Date: Mon Dec 20 21:12:27 2010 +0100 Make the tagging commands visible in the gitlog aswell commit 1760fafad78439a11e2c925623456e5b4b6b9390 Author: Torgny Nyblom Date: Thu Dec 16 09:50:31 2010 +0100 Only fetch revision properties once per revision commit 432c369a9932b018bac8ffc7c1c0e3675b5ddc6f Author: Torgny Nyblom Date: Thu Dec 16 09:49:51 2010 +0100 Only call startFastImport when needed commit 7dbe4e29789e76198ea63a004dbbe7d8e1ee72e9 Author: Torgny Nyblom Date: Thu Dec 16 09:49:04 2010 +0100 Be more clear about what are warnings commit ae4fa7288cbfd27296186c85206966461fa20db6 Author: Torgny Nyblom Date: Wed Dec 15 16:03:34 2010 +0100 Move branch creation/deletion/restting to Repository and write these in commit() Prepare for handling cvs2svn borked tags/branches commit 4686434f149a7c6c3f6aef6f0d9f394990bc87db Author: Torgny Nyblom Date: Wed Dec 15 15:29:47 2010 +0100 Ditch PrefixingRepository in favor of a memmber variable in [FastExport]Repository Some minor reordering commit 70b22862e7efd9511cc39b479223aaacbb88c3c1 Author: Torgny Nyblom Date: Mon Dec 13 18:11:22 2010 +0100 Delete before other changes Fix issue where if a branch reset was triggered before a branch deletion in the same revision the reset was overridden by the deletion commit f552e045dd68788b2502bb313bf3e268fc2d6d3c Author: Torgny Nyblom Date: Mon Dec 13 08:09:12 2010 +0100 call startFastImport where it is used. commit 8969033a246009f581b87d1f5aacaefffb8885ce Author: Torgny Nyblom Date: Mon Dec 13 08:07:36 2010 +0100 Code style commit e5c890d567361cd38bf173c2163d3f07f6e993fb Author: Torgny Nyblom Date: Sun Dec 12 12:32:16 2010 +0100 Duh, do not try and extract options before they are parsed. commit ce56750e8a47e3be86cf0c0964a145c7d7f943e5 Author: Torgny Nyblom Date: Sat Dec 4 20:53:43 2010 +0100 Add an option to print some stats after a run. commit 6e13e426db84b9137b98ba80552b91e3684085cd Author: Torgny Nyblom Date: Tue Nov 30 10:37:55 2010 +0100 Allow more then one variable to be used on a line. commit 5f14cd45c15b9eca56f224a7596db611294c4df0 Author: Torgny Nyblom Date: Sat Nov 27 07:04:52 2010 +0100 QList -> QSet commit 3f2534affaa7b0ac65c07610ac39c51d61b779bb Author: Torgny Nyblom Date: Fri Nov 26 12:40:15 2010 +0100 Add an option to parse a list (in a file) of revisions that should be used. commit 90805b608e32984d1b0df7c5b8e0ca2edc65bc95 Merge: 8867e81 10a2539 Author: Torgny Nyblom Date: Sun Nov 14 10:34:30 2010 +0100 Merge branch 'master' of gitorious.org:svn2git/svn2git commit 10a2539d4c3151d57db3c1492ab4fce66447ea60 Author: Niko Sams Date: Sat Nov 13 14:33:26 2010 +0100 Fix detecting directory moves is_dir wasn't reported correctly, I guess because the path didn't exist anymore at that revision. Reuse the existing wasDir function as it works perfectly. With not detecting the path as a dir, the / got not added, an thus the rule for the source not found. commit 8867e81e98ada1898436bedfdcf31036d638ed6c Author: Torgny Nyblom Date: Mon Nov 1 17:12:27 2010 +0100 Print revision information with "copy from" warning commit 38a34dc9a3cced350b4b71120c9c1d1e005ed3a1 Author: Torgny Nyblom Date: Mon Nov 1 10:49:08 2010 +0100 Fix issue with variables not being defined when reading include files commit 4fee08de4fa1e3592a4d9ee5c8a0835ddf97ebab Author: Torgny Nyblom Date: Mon Nov 1 10:40:45 2010 +0100 Print the missing from path when warning about missing source commit 222a48f0179bcebf63fdc3e8c5600b2ad44dd099 Author: Torgny Nyblom Date: Tue Oct 26 12:17:40 2010 +0200 Fix filename and linenumber for included rulefiles. commit 0f3b49821e8fb3030a4725fce4052c852b126138 Author: Torgny Nyblom Date: Mon Oct 18 07:54:51 2010 +0200 Better include path (FreeBSD patch from Uli - http://gitorious.org/~uqs) commit 3101a8ea7dcc91c1afa244bc163137cf26276a15 Author: Torgny Nyblom Date: Fri Oct 8 19:25:49 2010 +0200 Allow files to be matched commit 222f7f5ac668102405767772e6bc9f30a5c8c99d Author: Niko Sams Date: Thu Oct 7 20:49:59 2010 +0200 Make sure fastImport is started before adding file commit 605cbf99adb7393de7e029b2d326590540cf145f Merge: 01a0bb2 a741bdb Author: Niko Sams Date: Mon Oct 4 20:46:53 2010 +0200 Merge branch 'master' of gitorious.org:svn2git/svn2git commit 01a0bb21489c7d6f019df3b8efc5cbdec7c4b443 Author: Niko Sams Date: Mon Oct 4 20:44:13 2010 +0200 support svn commit that converts a link into a file in one commit this happens in kde svn rev 841619 commit a741bdb1913c28a320ff0e01518e4d39ed430289 Author: Torgny Nyblom Date: Wed Sep 29 19:53:24 2010 +0200 Allow more then one rule file to be used in a single run. commit 7ca174999ae5fa86e5fc39a0b1b7b02c06c80840 Author: Torgny Nyblom Date: Wed Sep 29 19:46:09 2010 +0200 const++ commit d1737a1713da27f825682fff0e9838b559ea81a3 Author: Torgny Nyblom Date: Wed Sep 29 19:45:20 2010 +0200 Die when a rule file contains an invalid regexp commit a85ac9698a77da1cd446e7d91010ebe62cbc5f76 Author: Torgny Nyblom Date: Tue Sep 28 20:40:05 2010 +0200 Unify debug messages and Match structs commit f11207edc33ccaf91b28fb86b135fa42cd5cf46b Author: Niko Sams Date: Fri Sep 24 21:44:29 2010 +0200 call startFastImport() in commit() This fixes importing large svn commits that get imported into a large number of git repositories. It happened that a process was closed (in ProcessCache::touch) before commit() and so the commit wasn't imported correctly. And remove the touch() call as that is done now in startFastImport() commit b021b72ec4ca6de595294f7accbe954ee9fd9431 Author: Niko Sams Date: Fri Sep 24 21:39:22 2010 +0200 touch fastImport process in startFastImport() This is needed to make sure that not too many processes are running and we run out of ressources. Calling touch only in commit is not enough as startFastImport is called in other functions as createBranch too - and that can result in too many processes. commit bf4709961337864eb0ef163bb77fc4e3ef5d166d Author: Niko Sams Date: Fri Sep 24 21:15:32 2010 +0200 add assertions to write() methods to make sure nothing is written into a closed fast-import commit f0ac33760478522817bd4b6bb15a4c89c9ac6674 Author: Niko Sams Date: Fri Sep 24 21:13:44 2010 +0200 output repository name that crashed, helpful to know which logs to look at commit cdedb4a5ce81f717351baef9195894ef7b1b0a84 Author: Torgny Nyblom Date: Fri Sep 17 13:19:37 2010 +0200 Readd br.marks.last() to various places as a mark of "0" is used to mark a branch as deleted. Thanks Raja R Harinath for spotting it. commit 05968a48886e95d11439a29c0510d31e27f44a6c Author: Torgny Nyblom Date: Wed Sep 15 06:52:02 2010 +0200 Fix assert when br.marks is empty commit e1bebdeb498dcfd772303a8e193f2ca989f67d92 Author: Torgny Nyblom Date: Mon Sep 13 12:19:04 2010 +0200 Make the fastImport into a logging instance, logging is enabled when the "--debug-rules" flag is active. commit 83b44874c5b380f3bf5e284ac1e46dddadda9594 Author: Torgny Nyblom Date: Fri Sep 10 12:30:12 2010 +0200 Add posibility to use variables in rule files "declare var=value" now "${var}" in any line will be replaced by "value" commit 984b474b891dba0113dd157e778bbd113cf6ecd8 Author: Torgny Nyblom Date: Thu Sep 9 12:08:40 2010 +0200 Spaces no tabs commit 5f891444f88087be253282fe6bd32188efdbfe6f Author: Torgny Nyblom Date: Thu Sep 9 12:05:08 2010 +0200 Make it possible to use "include file" for including the rules in "file". commit f172413532509bc6ece20ed0202751c25356050e Author: Torgny Nyblom Date: Thu Sep 9 10:02:21 2010 +0200 Better log messages commit b9ad61d5c610e11c59e9228c9886266ba6905ce8 Author: Torgny Nyblom Date: Wed Sep 8 21:47:54 2010 +0200 Spaces not tabs commit d7ec4d0dd7b9761b6c6b10a04e120458d781416c Author: Torgny Nyblom Date: Wed Sep 8 21:38:06 2010 +0200 Only add a '/' if the path is a dir commit 1638aef84c8b12873672c241fd2d2b8d50b3e260 Author: Torgny Nyblom Date: Wed Sep 8 21:36:45 2010 +0200 More verbose debug output commit f2fb603396b416e6516970f4ca5286a4f23c36ca Author: Torgny Nyblom Date: Wed Sep 8 21:35:19 2010 +0200 Inter branch merging causes git log to break with fatal internal errors commit cdba54a2cf2270f57b27c739f18c033a97155de1 Author: Torgny Nyblom Date: Wed Sep 8 21:34:15 2010 +0200 Don't print the same message as in Transaction() Creation is already printed at the bottom. commit 5a955ba10bd32786fcbe570b4ae45418eaf51f19 Author: Torgny Nyblom Date: Wed Sep 8 21:33:07 2010 +0200 Try and work around cvs2svn branching/tagging issues where the directory tree is not what it seems like commit 4676a36759e225c5b737203f99980d6723ecb118 Author: Torgny Nyblom Date: Sat Sep 4 08:27:05 2010 +0200 Make sure that the path part is empty before deleting a whole branch. If the prefix option for a rule is used current == svnprefix does not mean that we are dealing with the root of a branch, path needs to be empty as well. commit b1ea588fb2d295a069bf6b59673d5ffa2bd274d6 Author: Torgny Nyblom Date: Sat Sep 4 08:25:45 2010 +0200 White space cleanup & debug statments commit f0d96fac2e678bb0e39d892676e80f96d522867b Author: Torgny Nyblom Date: Wed Aug 25 11:01:11 2010 +0200 Fix character encoding commit 71625191032d380c962b3c13bf25c8d28125d54d Merge: 008b28e a985132 Author: Raja R Harinath Date: Mon Aug 23 23:49:54 2010 +0530 Merge branch 'master' of git://gitorious.org/svn2git/svn2git The conflict was mainly around two different approaches to fixing the linear commitMarks issue. The precise tracking of commit marks per branch is better, and that's how I resolved the merge conflict. While at it, I also removed the "revision-*" files, since the "log-*" files already have the same information, and the branch information too. Conflicts: src/repository.cpp src/repository.h commit a9851327eaa451820fbf90ed9d3f62441314cbb9 Merge: 7b9ef74 9bdc2a6 Author: Torgny Nyblom Date: Wed Aug 18 12:54:03 2010 +0200 Merge commit 'refs/merge-requests/7' of git://gitorious.org/svn2git/svn2git into integration commit 7b9ef74b8816a3993b6ddfafcc028cbd195b0f94 Merge: fcc4d75 19994f2 Author: Torgny Nyblom Date: Wed Aug 18 12:41:23 2010 +0200 Merge commit 'refs/merge-requests/5' of git://gitorious.org/svn2git/svn2git into integration commit fcc4d75bd88a45c4cb0fa371e4292dfeea0a4944 Merge: 2b7ce4a 03e7d51 Author: Torgny Nyblom Date: Mon Aug 9 14:24:37 2010 +0200 Merge commit 'refs/merge-requests/1' of git://gitorious.org/~marcguenther/svn2git/marcguenther-svn2git into integration commit 2b7ce4a0bcca10bcc6cdfb2cb35685ccaa10afe3 Author: Torgny Nyblom Date: Mon Aug 9 13:32:14 2010 +0200 Exit if unable to open repository commit 2eae8f66a7afb926ed0de7d489748a776f03e9a0 Author: Torgny Nyblom Date: Mon Aug 9 13:31:49 2010 +0200 If a branch is created from a previous commit that doesn't touch the branch from path then fallback to using the latest version and issue a warning commit 008b28e0f4c48de8d740c51c053020d1a36315bf Author: Raja R Harinath Date: Thu Jul 22 18:32:21 2010 +0530 Provide a way to merge repositories Suppose you have multiple repositories in SVN that you want to merge into a single one in GIT, it can get very messy to handle all the special-case rules. Instead, we introduce a new "forwarding repository" concept, which looks like repository subordinate repository unified prefix foo/ end repository This forwards all commits on the "subordinate" SVN tree to the "unified" GIT tree, with each file prefixed with "foo/". commit f0b31cfe9d31421b83507316d1274d191336a1f7 Author: Raja R Harinath Date: Thu Jul 22 17:37:07 2010 +0530 Extract out public methods of Repository into an abstract base class Rename Repository to FastImportRepository. We will be introducing new types soon. commit 37b289b98200f0e054a97485b56a0b643536cad4 Author: Raja R Harinath Date: Thu Jul 22 17:36:33 2010 +0530 clear out a local that is re-used commit 9cce68df56282882de6de36a4dc8574e7e654310 Author: Raja R Harinath Date: Wed Jul 21 01:01:48 2010 +0530 Move backup branches and tags to refs/branches/ The naming scheme is refs/backups/r/(heads|tags)/ Where is the revision where the branch is being reset: either for deletion or to be overwritten. We use a separate namespace so that we don't clutter up branch-name lists and tag lists with deleted tags. These refs will keep the commits alive as far as 'git gc' is concerned, but will be fairly unobstrusive otherwise. commit a159decede356e9d72a74ea38d31ed251ce408e9 Author: Raja R Harinath Date: Wed Jul 21 00:43:22 2010 +0530 Carve out Repository::markFrom from createBranch(), and noteCopyFromBranch() Put the slightly tricky qUpperBound logic in only one place. commit 851fc6e50d0f30f9f42dcd2f9e3de8b23357b560 Author: Raja R Harinath Date: Tue Jul 20 23:13:16 2010 +0530 Make Repository::createBranch use resetBranch now that they're similar commit 0e512033f95a4b2153aecf7c6bd677f626eb7138 Author: Raja R Harinath Date: Tue Jul 20 22:08:24 2010 +0530 Re-arrange Repository::createBranch to be closer to resetBranch While at it, make progress message for the "unknown from" case similar to the normal progress message. This ensures that any reconstructed branch data-structure will not lose any information. commit 09c6fbf79bd4e8821b799ccf79f4046a5eed6592 Author: Raja R Harinath Date: Tue Jul 20 21:17:36 2010 +0530 Add a resetBranch() to help refactor createBranch and deleteBranch. Only deleteBranch uses it for now. commit 4f080c2c934d5caa7a8eae8123cfbab7a735cc11 Author: Raja R Harinath Date: Tue Jul 20 21:04:29 2010 +0530 Remove exit(1) in createBranch. Return EXIT_SUCCESS/EXIT_FAILURE instead Allow graceful exit of all fast-import processes when createBranch fails. For consistency, add return value to deleteBranch, even though it always returns EXIT_SUCCESS. commit 8cdfe443e65b3882f9e5cd08c083ad03184d2741 Author: Raja R Harinath Date: Mon Jul 19 19:14:03 2010 +0530 Make the new incremental mode permanent With the changes made to Repository::reloadBranches when --incremental was introduced, the older mode wasn't working, anyway. commit d90465a37df3eb9769acf25294104a8c06053c30 Author: Raja R Harinath Date: Mon Jul 12 00:46:33 2010 +0530 Handle branching better for branches that use "prefix" rules When creating branches/tags off a branch that use "prefix" rules, svn2git used to create new commits rather than just copying the git ref over. This was due to SvnRevision::exportInteral() using 'path.isEmpty()' to determine if a change related to the whole branch or not. If a "prefix" rule is used, then 'path' will not be empty. We change it to instead look at how much of the change string was chomped up by the rule match. If the whole string was chomped up, it means that the change describes the whole branch. commit 2a7a37ff0f62f5dc06acf95d8084cd0521d6a651 Author: Raja R Harinath Date: Sun Jul 11 19:08:53 2010 +0530 Make error handling of --incremental and --resume-from idempotent When --resume-from failed in incremental mode, the log files that detected the error condition were truncated. So, if the same command line was executed again, the invocation would go through. We now restore the log files from backup when we detect we're going to fail. The restored log files may not all be the same as we originally started with, but we only truncate information that would anyway be truncated on the next successful run. commit c0bc64179f96b5d2e13a905f1f6867cce3ac9558 Author: Raja R Harinath Date: Sat Jul 10 19:23:07 2010 +0530 make --incremental robust to inconsistent import directories An interrupted import (say with Ctrl-C) can leave the import directory in an inconsistent state. This can be due to checkpointing fast-import only occassionally, but updating log-* files immediately, and/or other reasons. The incremental mode can detect certain such situations and rewind back to a safe state. Note that since the default commit-interval is quite large, this rewind can end up backtracking a lot. Note also that import interrupted under the control of svn2git, say, for missing rules should leave the import directory in a consistent state for the purpose of svn2git. commit ffc5270a6fa106fecad1a6a9f1520ca8f075c6b7 Author: Raja R Harinath Date: Sat Jul 10 16:20:04 2010 +0530 Reduce size of fast-import marks file by not persisting file-level marks Use two allocators for marks, one persistent commit counter that starts at 0 and counts up commits, and a transitional counter, for files, that counts down from maxMark, and is reset on each SVN revision. Note that the marks file will still have marks for some, but not all, files. The number of such marks is limited by the size of the SVN revision that affects the most files. For instance, this changed the size of one marks file from 19M to 3.2M. fast-import issues: We currently set maxMark = (1<<20)-1. Anything large seems to trigger a bug in the sparse array dumping routine in git-fast-import in certain versions of git. commit 45d4785557290facfa344e7fb4586fca41a84bbe Author: Raja R Harinath Date: Fri Jul 9 22:10:57 2010 +0530 Ensure deleteBranch() actually writes to git-fast-import Use startFastImport to start off the git-fast-import process if necessary. commit 6d3ad9b25957de52c1f74dfcfca813c271b122cc Author: Raja R Harinath Date: Fri Jul 9 20:01:36 2010 +0530 Introduce incremental mode with --incremental flag We use the progress logs that we carefully maintained to recreate the branch data structures, as described in earlier commits. A major change/improvement is that reloadBranches() now uses the marks file and internal data structures to prime the fast-import rather than using git-rev-parse. We also handle --resume-from properly, by truncating the log file to revisions that only precede the revision resumed from. Note that git fast-import allows marks to be reused without any extra processing. commit 4cbcd3021d803012d31356b5cb36982a9921b2df Author: Raja R Harinath Date: Tue Jul 6 23:08:23 2010 +0530 Handle SVN directory deletes that lead to branch deletes SVN directory deletes often indicate one or more branch deletions. However, since the deleted directory isn't present in the resulting revision, several of the indicators used by the rule-application mechanism aren't present. This forces us to introduce several useless dummy rules to avoid errors. We now note deletions and use the previous revision to determine several properties, including whether the deleted item is a directory or not, and to enumerate the contents of the directory in recurse mode. We add an additional heuristic for unknown repositories -- i.e., when a rule fired, but it's repository was invalid. We recurse in this case hoping to catch a more specific rule. I believe this is safe: because some other rule must've seen the same directory before, when it or a subdirectory was created, and decided _not_ to create a repository at that point -- so recursing and/or ignoring the contents of the just deleted directory won't corrupt the history, it can only improve it. We use mark :0 to note mark deletions internally, and in the progress logs. (Note that cvs2svn creates wierd commits where a whole tree is copied first, and then subtrees are pruned. In such cases, neither the previous revision nor the current revision have the deleted directory -- we ignore this case as before. There's no information loss since the final contents of the revision are exactly what is desired.) commit 8d462d3531a702655c5b81c6c6c9409d6a320150 Author: Raja R Harinath Date: Mon Jul 5 21:36:28 2010 +0530 Move SVN revision to fast-import mark mapping to the per-branch datastructure. A single SVN revision can affect multiple branches in the same repository. Keeping track of only one mark per revision loses information and makes the history incorrect. commit 2d55c90c734841b9c60b372047c296475e6e782b Author: Raja R Harinath Date: Mon Jul 5 21:35:10 2010 +0530 Properly implement the 16-parent limit, rather than conservatively stopping at 15 commit parents. commit b8ad70ccbf75cb25985b0e810be1e2c794b42c12 Author: Raja R Harinath Date: Thu Jul 1 23:35:38 2010 +0530 Don't skip same branch revisions when inferring multiple merge parents. Experience with the mono tree shows that it isn't too annoying, and there might be some useful history hidden in there. commit 883fc2dfc9adbe42f490b6049b4a1db62b843b71 Author: Raja R Harinath Date: Thu Jul 1 18:26:26 2010 +0530 Infer some copy sources as additional parents We use a literal meaning of multiple commit parents to allow us to infer some partial repository copying as merges. This helps us 1) track history despite some directory reorganization 2) link subset commits to parents 3) infer some merges which were achieved by overwriting a subtree with contents from another branch This seems to work well enough even with cvs2svn monster commits. The heuristics have been tuned by gut feel to work reasonably well with mono's SVN repository. They can definitely be improved. commit c1ae3088b783fc62faf7ee05279b31b8a37b568e Author: Raja R Harinath Date: Thu Jul 1 08:25:49 2010 +0530 Exit with EXIT_FAILURE if svn.exportRevision() failed commit 0c1895ae9e116b6d59cd541f06ec3d116ecff6fa Author: Raja R Harinath Date: Thu Jul 1 08:24:52 2010 +0530 Handle same branch copies using createBranch to allow reseating branch tip to an older revision. commit f48dc1eb2a2c3f79561104fa2e571443263d3da6 Merge: 4112f78 88f73d5 Author: Torgny Nyblom Date: Sun Jun 27 19:13:17 2010 +0200 Merge branch 'master' of git://gitorious.org/svn2git/svn2git commit 5092b0eb41426803022338c9f9709b2119da93e9 Author: Raja R Harinath Date: Mon Jun 21 19:08:23 2010 +0530 Add --force to 'git fast-import' command-line Now that we support arbitrarily reseating branches, the branch can be reset to older SVN revisions or derive from a different branch point. The "only fast-forward" rule of git branch imports gets in our way. Note that the application of the rule is fairly unpredictable since the checking happens only at 'checkpoint's. Let's trust our handling of SVN history and override the sanity-check. Note that we don't lose any information since reseated branches are snapshotted before reset. commit 9bdc2a66b057099a7bca628f26de87d2b4b55400 Author: José Manuel Santamaría Lema Date: Mon Jun 21 16:07:47 2010 +0200 Allow comments (start with '#') in accounts map commit e2ec9569986d22624a3e73d174b62c7b18a67380 Author: Raja R Harinath Date: Mon Jun 21 00:28:51 2010 +0530 Fix type error commit c4d607628ba4b9f5a532900051f80f5fa1a01034 Author: Raja R Harinath Date: Sun Jun 20 22:59:41 2010 +0530 Improve progess log Make the progress log for commit and branch creation more uniform and machine parse-able. Add 'mark' information to log so that it can be cross-referenced against the fast-import marks file. The log-* files now have enough information in a convenient enough form that the export can eventually be made fully resumable and incremental. The format is essentially progress SVN r branch = (: | ) with a possible trailing # comment. Any line not matching this can be The incremental mode would prime the internal structures with if () repository->commitMarks[] = ; repository->branches[].commits.append(); commit c99f14df097f72394a6bb9c8ae9130cd8cb86cf1 Author: Raja R Harinath Date: Sun Jun 20 19:15:39 2010 +0530 Track commits per-branch Previously, all the SVN commits were tracked in a linear array, and we searched for nearest commits in that array. However, SVN history is not linear, and the 'next smallest commit' search was picking the wrong commit. I've moved the commit array into the 'Branch' structure. As a minor subtlety, the branch creation revision is also noted in the 'commitMarks' structure, by copying the commit mark of the branch point. We need this to ensure that the commits array is strictly non-decreasing. commit 97657964b3c9ba5d5b45dced323a53c1e5d83b94 Author: Raja R Harinath Date: Sat Jun 19 20:39:50 2010 +0530 Improve determination of branch point This fixes the logic of commit 209e6ce4ddf114494d6d72455690af819dcbf18c qLowerBound doesn't have the desired semantics -- it returns the position of the first item which is not smaller than the search key. The intended semantics seems to be to find the given key, or the next smallest one. This is almost given by qUpperBound -- it returns an element one past the desired result. I've also added some additional debugging code to help debug this. commit 2de3ef976eeb1c860d082ed73a58c02be5834923 Author: Raja R Harinath Date: Sat Jun 19 20:31:31 2010 +0530 Store marks to file so that the ProcessCache system works Branches and marks are now long-lived. The marks have to survive even if the fast-import process goes away. So, use the --import- and --export-marks feature of fast-import to persist marks. These marks are only meant for the duration of this 'svn-all-fast-export' and don't confer any new incremental behaviour. You'll need a mark to SVN commit map for that, at least. commit 150234320a79003d130f6528a35cda5ce523e1a5 Author: Raja R Harinath Date: Sat Jun 19 20:30:17 2010 +0530 Fix typo commit a79e6c5ca1af54465d55f3d494398e392e20e4b9 Author: Raja R Harinath Date: Sat Jun 19 20:28:53 2010 +0530 Initialize lastmark Ensure that marks start at 1, now that they're visible in the logs commit 88f73d5f435df7153590b5f8da964133f577b16b Author: Johannes Obermayr Date: Sat Jun 19 12:57:26 2010 +0200 Add proper APR_INCLUDE for openSUSE commit 19994f26ff47507a387f708ad7bc0fcc32af3aed Author: José Manuel Santamaría Lema Date: Sat Jun 5 00:54:25 2010 +0200 Add "-lapr-1 -lsvn_subr-1" to the linker options. Linking against these libraries makes the program build using binutils gold. commit 4112f7856817fcaa04c1f42cbe3e871c0bd7c61c Author: Torgny Nyblom Date: Tue May 18 19:51:52 2010 +0200 Save the exported marks along with the associated revisions for later use. commit 125e8ac013f3fc7df64dde0a050c012235bdf185 Author: Torgny Nyblom Date: Tue May 18 19:50:48 2010 +0200 Make git fast-import save the used marks and hashes for later use. commit dcb73d84fb8343eaccad8de9c8238944035c82ee Author: Torgny Nyblom Date: Tue May 18 19:49:48 2010 +0200 Initialize lastmark commit 03e7d518f73053d56b240917f3b0a412d30d47db Author: Pavel Plesov Date: Tue May 18 03:12:19 2010 +0400 Fix broken utf-8 filenames. commit 44857577473f7baf327abd88daa2c785a0fd56cb Author: Torgny Nyblom Date: Sat May 8 15:48:00 2010 +0200 Add debug commit 54e55cfcb0ec8f634c1d5488232c54d1f7495882 Merge: b886ca8 209e6ce Author: Marc Guenther Date: Thu May 6 14:11:10 2010 +0200 Merge branch 'master' of gitorious.org:svn2git/svn2git commit 209e6ce4ddf114494d6d72455690af819dcbf18c Author: Torgny Nyblom Date: Tue May 4 07:03:14 2010 +0200 Try and branch from the correct svn revision rather then the last one. commit 80d1c990170ac8771da9607cdcf498f57996a949 Author: Torgny Nyblom Date: Mon May 3 20:07:04 2010 +0200 Fix svn.replace commit 64a45f529c6e3e08b2ddbb1b23870d89a3a62cd3 Author: Ulrich Spörlein Date: Mon Apr 19 23:06:00 2010 +0200 Implement the replace node changeset which exists from some repositories namely the FreeBSD svn rep commit 95ac50d6ecafa8a318c8aa278ab2ef1d04277dd1 Author: Torgny Nyblom Date: Thu Apr 29 20:48:17 2010 +0200 Split into two rows. commit c0fa5feaf084d4e1674b966ef9b7524bc2fe1ee8 Author: Ulrich Spörlein Date: Mon Apr 19 23:06:00 2010 +0200 Print more info on what is exported where commit b886ca85875859e7a3dd98aaf087abe9365c0646 Author: Marc Guenther Date: Tue Apr 20 22:45:14 2010 +0200 small typo in debug message commit a9b9930b02bcf8fae908ea5a1d2d1a18bc362cac Author: Marc Guenther Date: Fri Apr 16 17:34:15 2010 +0200 error message and exit when rules file cannot be read commit ad10c53d123ebf1c7a1d93431ade2a1cde4715ce Merge: 1841b37 5d9df31 Author: Marc Guenther marcguenther@me.com Date: Wed Apr 14 22:21:17 2010 +0200 Merge remote branch 'svn2git/master' commit 5d9df31bf640bbbbfbb30d0163f9f2571cc1b81b Author: Torgny Nyblom Date: Wed Apr 14 19:46:38 2010 +0200 Move slash cleaning to a more generic place commit 1841b37e70d582b384f81a5cb51f6ab30863ea48 Merge: 9630527 437e0db Author: Marc Guenther marcguenther@me.com Date: Wed Apr 14 16:04:15 2010 +0200 Merge remote branch 'svn2git/master' Conflicts: src/svn.cpp commit 96305273fb80f186fe8a1cf7b721e492d65624bd Author: Marc Guenther marcguenther@me.com Date: Wed Apr 14 13:10:29 2010 +0200 'prefix' rule didn't allow \1 \2 replacements commit 437e0dbb1551dbce774a1c5036e17a8e30c8e699 Author: Torgny Nyblom Date: Tue Apr 13 19:28:40 2010 +0200 Fix logical error in last commit. There was no slash added between prefix and path under certain conditions. commit 3bf4fcecd7f64cab1f700965816b5c1dbc8bdc39 Author: Torgny Nyblom Date: Mon Apr 12 20:38:25 2010 +0200 Oups (use the correct string) commit 70499909cc1dfed644aefbc9fa47eb7e8359dad1 Author: Torgny Nyblom Date: Mon Apr 12 20:37:06 2010 +0200 Fix logical error (deleted paths was ignored) Improve the ruleparser so that prefix never starts or ends with a '/' commit 260906c6675b71bcd890e761f23cb7c4a27ac7a8 Author: Torgny Nyblom Date: Mon Apr 12 16:58:22 2010 +0200 Ditch the Rootdir option and add a prefix one instead (Thiago is always correct :)) commit 352ad0f90f7d73bec0f36410128cafde183f39ba Author: Sebastian Pipping Date: Tue Mar 23 23:22:51 2010 +0100 Add support for git-svn author files commit 7ee1b3be6caa2745b723ad9364b81a5153cec1b1 Author: Torgny Nyblom Date: Thu Mar 25 19:28:09 2010 +0100 Add command line option to print what rules are used on each file. commit c9c52bc1415082f39738c402317a25c6991f8369 Author: Torgny Nyblom Date: Thu Mar 25 19:01:34 2010 +0100 Add commandline option for when to flush the commit queue. commit 8b4c690f47700ceb242b39aef2609c370c67caf9 Author: Torgny Nyblom Date: Mon Mar 15 19:45:14 2010 +0100 Add support for a new rule tag: rootdir /a/path/ This should be the part of the match that shouldn't be included in the commited path. Ex: match /trunk/kdenetwork/kmail/ rootdir /trunk/kdenetwork/ repository KDE/kdepim branch master end match This would but all matched files/directories under kmail into the repository under the subdir kmail commit d563a594cfa5f5b6d48325dd3fc48df1b34e329f Author: Torgny Nyblom Date: Sun Mar 14 11:39:54 2010 +0100 Revert half of last commit, only one regexp was duplicate. commit 714aaf1aa594e5d7821596e5e499a4039361f920 Author: Torgny Nyblom Date: Sun Mar 14 10:23:10 2010 +0100 Remove duplicate regexp commit df8fe0ebc356a8a3d919bb4ff9f2a0bd859d6f58 Author: Thomas Zander Date: Sat Mar 6 18:39:39 2010 +0100 Update with vng version; Fix command line parser reporting wrong options commit f26fb767a35cee2ac2a130e406539944295c03e9 Author: Thiago Macieira Date: Wed Mar 3 20:04:41 2010 +0100 Change license on files where I am copyright holder to GPLv3. The GPLv2 is incompatible with the Apache 2.0 License used in the SVN libs. So everyone was using this software under the GPLv3 anyway. Formalise it now. commit e9d834f04442808a139445a299d153c1f7b9c04e Author: Thomas Zander Date: Wed Oct 21 10:47:32 2009 +0200 make dry-run a command line switch instead of a compile-time switch commit e0210ef585775a1744934dc973f774f48e0c271c Author: Thomas Zander Date: Wed Oct 21 10:43:37 2009 +0200 Replace options with the one from vng and use its options for better usability commit fabffb639c76c13f6e5c772da0113a4a482dd61d Author: Thomas Zander Date: Tue Oct 20 18:13:23 2009 +0200 Make passing in a trailing slash not assert. commit 98f8e676bd3f356739b4a5e40906e5d72a0f4360 Author: Thomas Zander Date: Tue Oct 20 18:12:45 2009 +0200 Add commented out way to compile a dry-run version commit daded9dd3fe77b6e56e617fbbe612317c644dc7a Author: Thomas Zander Date: Tue Oct 20 18:12:21 2009 +0200 Create repos as we go. Instead of failing with an unhelpful error in fast-import we create the repositories we require to import into if they don't exist. commit e6174e93417489bb4921c0a4767ffd3e80a86871 Author: Thiago Macieira Date: Mon Jul 20 00:37:15 2009 +0200 Don't let me waste 2 hours doing an import if the identity map file wasn't found... commit a5fd311b84821f8cfa9ce89725501385070e744d Author: Thiago Macieira Date: Mon Jun 8 11:06:17 2009 +0200 Add support for annotated tags commit 18dfc8c47b4fbd862cf1d2bbf245e2ff48eeb390 Author: Thiago Macieira Date: Mon Jun 8 10:01:12 2009 +0200 Fix the recursing when the sub-path was modified instead of just added commit 7d5244f97278f85caee51626e228b2b4fa7cbb88 Author: Thiago Macieira Date: Fri Feb 20 21:51:48 2009 +0100 Add a warning about tag processing in the standardlayout file commit 35d851a29af9dff5d07552a1a92026a269bf7d74 Author: Thiago Macieira Date: Fri Feb 20 21:49:15 2009 +0100 Fix the recurse rules sample file: the repository name comes after the branch name, like in KDE commit 60d67149d24f86474d20fac636093092d7f37e7a Author: Thiago Macieira Date: Fri Feb 20 21:47:05 2009 +0100 Add a set of sample rules files. All of these files are untested. I just wrote from memory. commit 7abbe81c3b2b10d144aee0be744258a352558e03 Author: Thiago Macieira Date: Fri Feb 20 21:25:51 2009 +0100 Support Qt 4.3 too commit 58d2eb3e4e2c2bd04d6dd67a80a6b2d32e0ef027 Author: Anders Kaseorg Date: Sat Jan 3 18:22:34 2009 -0500 Properly interpret Subversion dates as UTC. mktime interprets its input in the local timezone. This can be fixed by using timegm instead of mktime. Signed-off-by: Anders Kaseorg Signed-off-by: Thiago Macieira commit 29b44c19819e52a2489860e5636d72c7a41eda36 Author: Anders Kaseorg Date: Sat Jan 3 18:21:56 2009 -0500 Add a --no-metadata option to suppress the svn info in commit messages. Signed-off-by: Anders Kaseorg Signed-off-by: Thiago Macieira commit 4c4a6cf1dd9075859f59713bda04b2568ae7e115 Author: Anders Kaseorg Date: Sun Dec 28 15:27:47 2008 -0500 Read symbolic links correctly. ---1257098496-2120511158-1230496052=:2755Symlinks are described in Subversion by a file with propertysvn:special set to “*”, with contents “link ”. We need to strip off the “link ” when exporting to Git. Signed-off-by: Anders Kaseorg Signed-off-by: Thiago Macieira commit b9ea350139b68667f97e0e7f51af862f22dba6d6 Author: Anders Kaseorg Date: Sun Dec 28 15:27:00 2008 -0500 Add missing calls to svn_stream_close(). ---1257098496-5312088-1230496020=:2755svn_stream_copy() does not automatically close its streams. (Thatfeature will be added in Subversion 1.6’s svn_stream_copy3().) Signed-off-by: Anders Kaseorg Signed-off-by: Thiago Macieira commit fc7b4bccdc719177ec0b4fa135e43ec96403c7b7 Author: Anders Kaseorg Date: Sun Dec 28 15:26:23 2008 -0500 Fix initialization of Repository::lastmark when creating a new transaction. Signed-off-by: Anders Kaseorg Signed-off-by: Thiago Macieira commit 8b6c8bd67831d68f8a275d8986e6589291ab6ba2 Author: Thiago Macieira Date: Tue Aug 26 23:40:41 2008 +0200 Fix a bug when committing to two branches of the same repository in the same SVN revision commit e3f0499dfacda04c6c7de3cc103d9f1824f0d251 Author: Thiago Macieira Date: Sun Aug 24 14:45:08 2008 +0200 Store the modified files in git-fast-import format already. I don't know what went wrong, but importing KDE revision 296047 there was a mixup with the marks. So instead avoid the trouble and store the thing in in cooked format already commit 374d4cd6fe492af4bcb0adf46e380f55be737d01 Author: Thiago Macieira Date: Sat Aug 23 22:48:34 2008 +0200 Add a process cache to keep the number of processes under 100 commit 25e6c28e0da95faa8bd6644cebf3f20d0afb6f53 Author: Thiago Macieira Date: Mon Aug 18 16:49:07 2008 +0200 General improvements and reload branches automatically when starting git-fast-import commit ca192b2c6a1c497f9a514c6e68d56929de912f38 Author: Thiago Macieira Date: Mon Aug 18 16:48:32 2008 +0200 Enhance the saving of repository data by adding a "checkpoint" command at the end. Though I have the impression that this doesn't do much commit d6da65ded6cab37ef5630b978a6438951ee1e150 Author: Thiago Macieira Date: Mon Aug 18 16:47:19 2008 +0200 Do not try to recurse into files when under a "recurse" action commit 9413f4488b5d0eb39fee8af8edca2e99cf2254ca Author: Thiago Macieira Date: Mon Aug 18 16:45:49 2008 +0200 Initialize variable commit b3b433a81f2c38d8ed64f07aa4d793627fc7411e Author: Thiago Macieira Date: Sat Aug 16 10:29:49 2008 +0200 trim the newlines commit c0a3eea369637ab8378f4789c81515e1869c9db6 Author: Thiago Macieira Date: Wed Aug 13 15:05:55 2008 +0200 Make it easier to do automatic branching commit ff26f180723344b8ca3a1b35d1bbede1f6698f3a Author: Thiago Macieira Date: Wed Aug 13 13:35:59 2008 +0200 Auto create branches commit 72da461078a7d04396a2123575f0cabd14e095de Author: Thiago Macieira Date: Wed Aug 13 13:31:09 2008 +0200 Enhance error message commit 7dd430d8609e657709ae794762c6eebb0000b249 Author: Thiago Macieira Date: Wed Aug 13 12:28:45 2008 +0200 Try auto-creation of branches commit f34275cff05668492a134a69cacac16f799c2493 Author: Thiago Macieira Date: Fri Dec 28 19:59:06 2007 +0100 Fix the double UTF-8 encoding of the author name. In hindsight I maybe shouldn't have used QTextStream. commit bb416d33bd42c89e0ca3e7563ff57fe6d77a1bc2 Author: Thiago Macieira Date: Fri Dec 28 13:42:43 2007 +0100 Implement the identity map commit 50cd32a4e9d105a086977bd071fda0a3401bc27d Author: Thiago Macieira Date: Fri Dec 28 13:36:14 2007 +0100 Wait forever. Not very efficient, but works. commit 25f3205a1a6f7a1ce1ff0a3c9b4dcaeb8ca9dd37 Author: Thiago Macieira Date: Fri Dec 28 13:04:03 2007 +0100 Fail if writing to the process fails commit 298d7968c1bd6381bd80a41c6bfea37d42c73a6a Author: Thiago Macieira Date: Fri Dec 28 12:50:14 2007 +0100 Don't start the git-fast-import process twice. And make it log its output to a file rather than garble the output of 10-15 process in stdout. commit 392c009ad5ee4276a7ced33257a0b15f56bb5a4b Author: Thiago Macieira Date: Thu Dec 27 15:49:15 2007 -0200 Complement the recurse rule finding (or not finding) commit b4cb51888233275e6ec09f084f9fba371e01e759 Author: Thiago Macieira Date: Thu Dec 27 15:29:54 2007 -0200 Reintroduce the recurse rule. It's useful if you have a catch-all ignore rule. commit a812d0b14d8e341c48201354122578705af873e4 Author: Thiago Macieira Date: Thu Dec 27 13:41:16 2007 +0100 write to disk every 10000 commits, not 9999 times each 10000 commits commit b8549b9065cd1c3fb1914d3617838ef39fc12075 Author: Thiago Macieira Date: Wed Dec 26 22:58:04 2007 -0200 Allow one commit to multiple branches of the same repository. commit b50b928579919f51218f45e47db758e43ef757c1 Author: Thiago Macieira Date: Wed Dec 26 22:40:26 2007 -0200 checkpoint every now and then commit 6b510c52e7486d0f3208f77d5380e42f8616ffb2 Author: Thiago Macieira Date: Wed Dec 26 22:38:25 2007 -0200 Bugfix: don't forget the newline after the commit message commit 1c5ce3948a9ce4096160591dd31a9a6ef0dcaa06 Author: Thiago Macieira Date: Wed Dec 26 12:50:53 2007 -0200 Add missing return commit 5871af719f7ede0db0e661a34a6f485dc4488e3b Author: Thiago Macieira Date: Wed Dec 26 12:49:17 2007 -0200 Avoid ending slashes and mid double-slashes commit d4c5541dd3cc94a69ee97fdb8918dc9b8cc37045 Author: Thiago Macieira Date: Wed Dec 26 11:56:25 2007 -0200 More information when saying you can't continue commit 844c7a90bcdba1c029ea35ce56d4b7ebdc68eb98 Author: Thiago Macieira Date: Wed Dec 26 11:42:30 2007 -0200 Don't recurse into a directory if it's a perfect branch commit 8ca4b631c96fea8ccc045ce92d09bd12263358c3 Author: Thiago Macieira Date: Wed Dec 26 11:18:58 2007 -0200 Skip entries in recursion if said entries are in the changelist already commit bdc20860cb0bd30bcef6732e5e2f1811b8c2cdf4 Author: Thiago Macieira Date: Tue Dec 25 20:39:25 2007 -0200 Don't crash when running in dry-mode commit e087596c78237db34511211719218fe0fb2e8e51 Author: Thiago Macieira Date: Tue Dec 25 20:28:32 2007 -0200 Keep track of when a given branch was created instead commit 1602441997715867882c9ff2102cb13bcfd241ee Author: Thiago Macieira Date: Mon Dec 24 21:45:58 2007 -0200 Remove the recurse rule commit b019fed71c84032e3f21fa219b6b118e6dde2928 Author: Thiago Macieira Date: Mon Dec 24 21:35:50 2007 -0200 This should be a space commit 2ddd1758e673d8d5eba2a298eb1c5ad2760b481b Author: Thiago Macieira Date: Mon Dec 24 21:30:30 2007 -0200 Beautify the rule debug output commit 6b450d1d7ec57ed13d5fd22c639f08d0737f4af8 Author: Thiago Macieira Date: Mon Dec 24 21:21:15 2007 -0200 Add auto-recurse code commit 893ad8c5be83a49e72df32797e13e590016ece61 Author: Thiago Macieira Date: Mon Dec 24 21:03:36 2007 -0200 Append instead of overwriting the output file in dry-run mode commit 295db4b22a8ec04897f11aef2b54110522b22ff2 Author: Thiago Macieira Date: Mon Dec 24 20:36:27 2007 -0200 s,/,_, in the output filenames in dry-run mode commit 97b52f78f93d6f9abe96b9ffceafcc63be49ad51 Author: Thiago Macieira Date: Mon Dec 24 20:00:44 2007 -0200 Don't request recurse rules when asking where something came from commit 898704e4260e2d42c75e123938470dab581a8d80 Author: Thiago Macieira Date: Mon Dec 24 19:36:19 2007 -0200 Refactor and add the ability to recurse into certain subdirs commit 7a6160e7c284f7963399265544cfacd323c8db65 Author: Thiago Macieira Date: Mon Dec 24 16:37:50 2007 -0200 Ignore paths being deleted when we don't know anything about them commit 3ac8628a077203403eee092e7bf5d20f5931260e Author: Thiago Macieira Date: Mon Dec 24 16:09:22 2007 -0200 more information at the end of the revision export commit dcbaff4485f1b7e4223528e7e0b81c2367d71768 Author: Thiago Macieira Date: Mon Dec 24 15:38:43 2007 -0200 use printf here commit 973fa95b8703cfa2b29933e98a20e1c8b8026c40 Author: Thiago Macieira Date: Mon Dec 24 15:32:49 2007 -0200 remove the source branch in the rules commit 8a1468fda7259d2d476e142fc1a45c115be4ed75 Author: Thiago Macieira Date: Mon Dec 24 15:22:07 2007 -0200 Don't give fast-import paths starting with a slash commit c338ae370e45e0b3d16253b9dd69c06c716e5597 Author: Thiago Macieira Date: Mon Dec 24 15:10:27 2007 -0200 Add support for branch creation on-the-fly commit f97a8dff0675251aadc60d1c06ce5315eae2c36b Author: Thiago Macieira Date: Mon Dec 24 14:06:33 2007 -0200 Support for pathless rules commit 9fa82b403b5fef362b36d9f3ad199fd016c2ee96 Author: Thiago Macieira Date: Mon Dec 24 14:06:08 2007 -0200 Output dry-run data to a file, for analysis later commit 61ae76bdcac1746db955100df02ff5bd8db0c774 Author: Thiago Macieira Date: Mon Dec 24 14:05:34 2007 -0200 Support an upper limit of revision numbers commit 453ea6b649151fee4c567b860029b455dca49cd8 Author: Thiago Macieira Date: Mon Dec 24 12:57:55 2007 -0200 Don't crash on empty author commit 8d7b49e591879c12c863aabb65c66751ba8b697c Author: Thiago Macieira Date: Mon Dec 24 12:51:17 2007 -0200 Allow one to have references to outside refs/heads commit 107fa1678676a31440ebc858b349c441d68a79f8 Author: Thiago Macieira Date: Mon Dec 24 12:33:51 2007 -0200 Add some more line number information commit 1129b4256d605da67bdc3fc87264b070ada2fa53 Author: Thiago Macieira Date: Mon Dec 24 12:25:54 2007 -0200 add some more information to the output commit 9d15855011a8f14c78bc1898a0deb984173d5940 Author: Thiago Macieira Date: Mon Dec 24 12:01:28 2007 -0200 Improve error message commit 09f6282e63cd7f0757ecacd90c062d27df8509d2 Author: Thiago Macieira Date: Mon Dec 24 11:58:37 2007 -0200 Prepend refs/heads/ to the origin branch too commit 266afd58cc06fcc9a529e7bb26d53c3728887432 Author: Thiago Macieira Date: Mon Dec 24 11:55:45 2007 -0200 Ignore any directories that didn't match any rules, including those with history commit 1deb8ac509c147da57d35183b3fa06a9ad36f76a Author: Thiago Macieira Date: Mon Dec 24 11:55:12 2007 -0200 Make it a fatal error to have a malformed line in the rules file commit 5539acb42d1b0b9a9f9b6c8153c1b821a0311d16 Author: Thiago Macieira Date: Mon Dec 24 11:45:45 2007 -0200 Detect whether a file deletion was a directory commit 3ffa3592fdcb7fbde29e84f8f72050ba2868e0e4 Author: Thiago Macieira Date: Mon Dec 24 11:33:32 2007 -0200 Avoid warnings on exit commit 5b8a1c0c71e75fd613fb1a27c61bdedf11803729 Author: Thiago Macieira Date: Mon Dec 24 11:28:41 2007 -0200 Add support for min/max revision ranges commit d91c2d9b90280decfafae66d4a72e735eeb1a125 Author: Thiago Macieira Date: Mon Dec 24 11:23:07 2007 -0200 I like this better commit 2cdbbd82ef50b105e53aa7c6d978fb072681218c Author: Thiago Macieira Date: Mon Dec 24 11:20:53 2007 -0200 Extra newline after the reset command commit 5d3d11ece8e8cf823f7118ef3af503a274844d1c Author: Thiago Macieira Date: Mon Dec 24 11:20:04 2007 -0200 Allow repository names with dashes too commit 1a6887295271402341658c9d0c3a17fa8bd891da Author: Thiago Macieira Date: Mon Dec 24 11:11:50 2007 -0200 Add support for resuming work commit b0fb9f085e51abc93f2069645ee33aeed0b6b093 Author: Thiago Macieira Date: Mon Dec 24 11:11:41 2007 -0200 fix the option parsing commit 1228bd7c87f4e203883086d6884280653a8d1777 Author: Thiago Macieira Date: Mon Dec 24 10:48:00 2007 -0200 Add a better option-parser commit 14ddd2a51aa3a917bbb7fbade842818ab09802bc Author: Thiago Macieira Date: Mon Dec 24 01:10:54 2007 -0200 In SVN, when a directory is renamed/copied, we must recursively add it commit b6ba9639a3c908aedb76954a575641c56a76714c Author: Thiago Macieira Date: Mon Dec 24 00:44:01 2007 -0200 Fix crashes and improve behaviour commit c7d45e66be31b72663e3a5a13a60eef31d458e0a Author: Thiago Macieira Date: Sun Dec 23 20:18:08 2007 -0200 Fix rule parsing again: cap(0) is the entire match commit add9aaf41b158d65dc7a5d51771392918eff5b87 Author: Thiago Macieira Date: Sun Dec 23 20:07:44 2007 -0200 Parse rules correctly commit ab162d73a1516c9af0ca1d4956a04eedb7708073 Author: Thiago Macieira Date: Sun Dec 23 19:38:33 2007 -0200 Handle errors correctly commit 695ab9ee00207e63491cfe9d2b311b19c903afa3 Author: Thiago Macieira Date: Sun Dec 23 19:34:05 2007 -0200 And run the SVN code too commit 688d69ec473b06fb767cf29b62d66e9642c19a91 Author: Thiago Macieira Date: Sun Dec 23 19:31:35 2007 -0200 Introduce the dry-run mode commit e2b087005d550746b45831a374cda98e62dbf7fb Author: Thiago Macieira Date: Sun Dec 23 19:12:52 2007 -0200 Add the local-config.pri to the ignore list commit 1c4df5aa91b316f89d7c76adf86cebcbee334b09 Author: Thiago Macieira Date: Sun Dec 23 19:12:23 2007 -0200 Implement the commit transaction commit 9c31646c4bc9fa98d00124e121d9c3f4a615721e Author: Thiago Macieira Date: Sun Dec 23 19:12:14 2007 -0200 Don't forget the final newline for a file's data commit af0103861eb05f1bd2d5136563d6d6b339836f24 Author: Thiago Macieira Date: Sun Dec 23 18:07:12 2007 -0200 Add SVN code commit d3e9398dcac3674405d406a0304f38128c9b392a Author: Thiago Macieira Date: Sun Dec 23 15:30:31 2007 -0200 Add initial SVN support commit 8385649be1b8bd7a8abf472fcaacb8d796f9a6c9 Author: Thiago Macieira Date: Sun Dec 23 15:02:42 2007 -0200 Add executable name to the .gitignore file commit 12cd84df1faf525f72d0bb9adce744b3629e5628 Author: Thiago Macieira Date: Sun Dec 23 15:01:57 2007 -0200 Add missing function commit ae160384ef8ec2acf8bc287c8144dd7f9a8f71ac Author: Thiago Macieira Date: Sun Dec 23 15:00:53 2007 -0200 Add main.cpp commit 5a7327f691416d3b061318da00fbd85a341f710a Author: Thiago Macieira Date: Sun Dec 23 14:50:27 2007 -0200 Add the Repository class commit c25fce2e70dab730cc8e117f2ceb6c0954bd3d48 Author: Thiago Macieira Date: Sun Dec 23 14:27:10 2007 -0200 Add .gitignore commit 01592f9eb4d6dd066df9f43cc076e878b04da9fc Author: Thiago Macieira Date: Sun Dec 23 14:26:30 2007 -0200 Initial version