svn2git:svn2git.git
7 years agoFix filename and linenumber for included rulefiles.
Torgny Nyblom [Tue, 26 Oct 2010 10:17:40 +0000 (12:17 +0200)]
Fix filename and linenumber for included rulefiles.

7 years agoBetter include path (FreeBSD patch from Uli - http://gitorious.org/~uqs)
Torgny Nyblom [Mon, 18 Oct 2010 05:54:51 +0000 (07:54 +0200)]
Better include path (FreeBSD patch from Uli - gitorious.org/~uqs)

7 years agoAllow files to be matched
Torgny Nyblom [Fri, 8 Oct 2010 17:25:49 +0000 (19:25 +0200)]
Allow files to be matched

7 years agoMake sure fastImport is started before adding file
Niko Sams [Thu, 7 Oct 2010 18:49:59 +0000 (20:49 +0200)]
Make sure fastImport is started before adding file

7 years agoMerge branch 'master' of gitorious.org:svn2git/svn2git
Niko Sams [Mon, 4 Oct 2010 18:46:53 +0000 (20:46 +0200)]
Merge branch 'master' of gitorious.org:svn2git/svn2git

7 years agosupport svn commit that converts a link into a file in one commit
Niko Sams [Mon, 4 Oct 2010 18:44:13 +0000 (20:44 +0200)]
support svn commit that converts a link into a file in one commit

this happens in kde svn rev 841619

7 years agoAllow more then one rule file to be used in a single run.
Torgny Nyblom [Wed, 29 Sep 2010 17:53:24 +0000 (19:53 +0200)]
Allow more then one rule file to be used in a single run.

7 years agoconst++
Torgny Nyblom [Wed, 29 Sep 2010 17:46:09 +0000 (19:46 +0200)]
const++

7 years agoDie when a rule file contains an invalid regexp
Torgny Nyblom [Wed, 29 Sep 2010 17:45:20 +0000 (19:45 +0200)]
Die when a rule file contains an invalid regexp

7 years agoUnify debug messages and Match structs
Torgny Nyblom [Tue, 28 Sep 2010 18:40:05 +0000 (20:40 +0200)]
Unify debug messages and Match structs

7 years agocall startFastImport() in commit()
Niko Sams [Fri, 24 Sep 2010 19:44:29 +0000 (21:44 +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()

7 years agotouch fastImport process in startFastImport()
Niko Sams [Fri, 24 Sep 2010 19:39:22 +0000 (21:39 +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.

7 years agoadd assertions to write() methods to make sure nothing is written into a closed fast...
Niko Sams [Fri, 24 Sep 2010 19:15:32 +0000 (21:15 +0200)]
add assertions to write() methods to make sure nothing is written into a closed fast-import

7 years agooutput repository name that crashed, helpful to know which logs to look at
Niko Sams [Fri, 24 Sep 2010 19:13:44 +0000 (21:13 +0200)]
output repository name that crashed, helpful to know which logs to look at

7 years agoReadd br.marks.last() to various places as a mark of "0" is used to mark
Torgny Nyblom [Fri, 17 Sep 2010 11:19:37 +0000 (13:19 +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.

7 years agoFix assert when br.marks is empty
Torgny Nyblom [Wed, 15 Sep 2010 04:52:02 +0000 (06:52 +0200)]
Fix assert when br.marks is empty

7 years agoMake the fastImport into a logging instance, logging is enabled when the "--debug...
Torgny Nyblom [Mon, 13 Sep 2010 10:19:04 +0000 (12:19 +0200)]
Make the fastImport into a logging instance, logging is enabled when the "--debug-rules" flag is active.

7 years agoAdd posibility to use variables in rule files
Torgny Nyblom [Fri, 10 Sep 2010 10:30:12 +0000 (12:30 +0200)]
Add posibility to use variables in rule files
"declare var=value"
now "${var}" in any line will be replaced by "value"

7 years agoSpaces no tabs
Torgny Nyblom [Thu, 9 Sep 2010 10:08:40 +0000 (12:08 +0200)]
Spaces no tabs

7 years agoMake it possible to use "include file" for including the rules in "file".
Torgny Nyblom [Thu, 9 Sep 2010 10:05:08 +0000 (12:05 +0200)]
Make it possible to use "include file" for including the rules in "file".

7 years agoBetter log messages
Torgny Nyblom [Thu, 9 Sep 2010 08:02:21 +0000 (10:02 +0200)]
Better log messages

7 years agoSpaces not tabs
Torgny Nyblom [Wed, 8 Sep 2010 19:47:54 +0000 (21:47 +0200)]
Spaces not tabs

7 years agoOnly add a '/' if the path is a dir
Torgny Nyblom [Wed, 8 Sep 2010 19:38:06 +0000 (21:38 +0200)]
Only add a '/' if the path is a dir

7 years agoMore verbose debug output
Torgny Nyblom [Wed, 8 Sep 2010 19:36:45 +0000 (21:36 +0200)]
More verbose debug output

7 years agoInter branch merging causes git log to break with fatal internal errors
Torgny Nyblom [Wed, 8 Sep 2010 19:35:19 +0000 (21:35 +0200)]
Inter branch merging causes git log to break with fatal internal errors

7 years agoDon't print the same message as in Transaction()
Torgny Nyblom [Wed, 8 Sep 2010 19:34:15 +0000 (21:34 +0200)]
Don't print the same message as in Transaction()
Creation is already printed at the bottom.

7 years agoTry and work around cvs2svn branching/tagging issues where the directory tree is...
Torgny Nyblom [Wed, 8 Sep 2010 19:33:07 +0000 (21:33 +0200)]
Try and work around cvs2svn branching/tagging issues where the directory tree is not what it seems like

7 years agoMake sure that the path part is empty before deleting a whole branch. If the prefix...
Torgny Nyblom [Sat, 4 Sep 2010 06:27:05 +0000 (08:27 +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.

7 years agoWhite space cleanup & debug statments
Torgny Nyblom [Sat, 4 Sep 2010 06:25:45 +0000 (08:25 +0200)]
White space cleanup & debug statments

7 years agoFix character encoding
Torgny Nyblom [Wed, 25 Aug 2010 09:01:11 +0000 (11:01 +0200)]
Fix character encoding

7 years agoMerge branch 'master' of git://gitorious.org/svn2git/svn2git
Raja R Harinath [Mon, 23 Aug 2010 18:19:54 +0000 (23:49 +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

7 years agoMerge commit 'refs/merge-requests/7' of git://gitorious.org/svn2git/svn2git into...
Torgny Nyblom [Wed, 18 Aug 2010 10:54:03 +0000 (12:54 +0200)]
Merge commit 'refs/merge-requests/7' of git://gitorious.org/svn2git/svn2git into integration

7 years agoMerge commit 'refs/merge-requests/5' of git://gitorious.org/svn2git/svn2git into...
Torgny Nyblom [Wed, 18 Aug 2010 10:41:23 +0000 (12:41 +0200)]
Merge commit 'refs/merge-requests/5' of git://gitorious.org/svn2git/svn2git into integration

7 years agoMerge commit 'refs/merge-requests/1' of git://gitorious.org/~marcguenther/svn2git...
Torgny Nyblom [Mon, 9 Aug 2010 12:24:37 +0000 (14:24 +0200)]
Merge commit 'refs/merge-requests/1' of git://gitorious.org/~marcguenther/svn2git/marcguenther-svn2git into integration

7 years agoExit if unable to open repository
Torgny Nyblom [Mon, 9 Aug 2010 11:32:14 +0000 (13:32 +0200)]
Exit if unable to open repository

7 years agoIf a branch is created from a previous commit that doesn't touch the branch from...
Torgny Nyblom [Mon, 9 Aug 2010 11:31:49 +0000 (13:31 +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

7 years agoProvide a way to merge repositories
Raja R Harinath [Thu, 22 Jul 2010 13:02:21 +0000 (18:32 +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/".

7 years agoExtract out public methods of Repository into an abstract base class
Raja R Harinath [Thu, 22 Jul 2010 12:07:07 +0000 (17:37 +0530)]
Extract out public methods of Repository into an abstract base class

Rename Repository to FastImportRepository.  We will be introducing new types soon.

7 years agoclear out a local that is re-used
Raja R Harinath [Thu, 22 Jul 2010 12:06:33 +0000 (17:36 +0530)]
clear out a local that is re-used

7 years agoMove backup branches and tags to refs/branches/
Raja R Harinath [Tue, 20 Jul 2010 19:31:48 +0000 (01:01 +0530)]
Move backup branches and tags to refs/branches/

The naming scheme is

  refs/backups/r<svn-revision>/(heads|tags)/<branch>

Where <svn-revision> 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.

7 years agoCarve out Repository::markFrom from createBranch(), and noteCopyFromBranch()
Raja R Harinath [Tue, 20 Jul 2010 19:13:22 +0000 (00:43 +0530)]
Carve out Repository::markFrom from createBranch(), and noteCopyFromBranch()

Put the slightly tricky qUpperBound logic in only one place.

7 years agoMake Repository::createBranch use resetBranch now that they're similar
Raja R Harinath [Tue, 20 Jul 2010 17:43:16 +0000 (23:13 +0530)]
Make Repository::createBranch use resetBranch now that they're similar

7 years agoRe-arrange Repository::createBranch to be closer to resetBranch
Raja R Harinath [Tue, 20 Jul 2010 16:38:24 +0000 (22:08 +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.

7 years agoAdd a resetBranch() to help refactor createBranch and deleteBranch.
Raja R Harinath [Tue, 20 Jul 2010 15:47:36 +0000 (21:17 +0530)]
Add a resetBranch() to help refactor createBranch and deleteBranch.

Only deleteBranch uses it for now.

7 years agoRemove exit(1) in createBranch. Return EXIT_SUCCESS/EXIT_FAILURE instead
Raja R Harinath [Tue, 20 Jul 2010 15:34:29 +0000 (21:04 +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.

7 years agoMake the new incremental mode permanent
Raja R Harinath [Mon, 19 Jul 2010 13:44:03 +0000 (19:14 +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.

7 years agoHandle branching better for branches that use "prefix" rules
Raja R Harinath [Sun, 11 Jul 2010 19:16:33 +0000 (00:46 +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.

7 years agoMake error handling of --incremental and --resume-from idempotent
Raja R Harinath [Sun, 11 Jul 2010 13:38:53 +0000 (19:08 +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.

7 years agomake --incremental robust to inconsistent import directories
Raja R Harinath [Sat, 10 Jul 2010 13:53:07 +0000 (19:23 +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.

7 years agoReduce size of fast-import marks file by not persisting file-level marks
Raja R Harinath [Sat, 10 Jul 2010 10:50:04 +0000 (16:20 +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.

7 years agoEnsure deleteBranch() actually writes to git-fast-import
Raja R Harinath [Fri, 9 Jul 2010 16:40:57 +0000 (22:10 +0530)]
Ensure deleteBranch() actually writes to git-fast-import

Use startFastImport to start off the git-fast-import process if necessary.

7 years agoIntroduce incremental mode with --incremental flag
Raja R Harinath [Fri, 9 Jul 2010 14:31:36 +0000 (20:01 +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.

7 years agoHandle SVN directory deletes that lead to branch deletes
Raja R Harinath [Tue, 6 Jul 2010 17:38:23 +0000 (23:08 +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.)

7 years agoMove SVN revision to fast-import mark mapping to the per-branch datastructure.
Raja R Harinath [Mon, 5 Jul 2010 16:06:28 +0000 (21:36 +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.

7 years agoProperly implement the 16-parent limit, rather than conservatively stopping at
Raja R Harinath [Mon, 5 Jul 2010 16:05:10 +0000 (21:35 +0530)]
Properly implement the 16-parent limit, rather than conservatively stopping at
15 commit parents.

7 years agoDon't skip same branch revisions when inferring multiple merge parents.
Raja R Harinath [Thu, 1 Jul 2010 18:05:38 +0000 (23:35 +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.

7 years agoInfer some copy sources as additional parents
Raja R Harinath [Thu, 1 Jul 2010 12:56:26 +0000 (18:26 +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.

7 years agoExit with EXIT_FAILURE if svn.exportRevision() failed
Raja R Harinath [Thu, 1 Jul 2010 02:55:49 +0000 (08:25 +0530)]
Exit with EXIT_FAILURE if svn.exportRevision() failed

7 years agoHandle same branch copies using createBranch to allow reseating
Raja R Harinath [Thu, 1 Jul 2010 02:54:52 +0000 (08:24 +0530)]
Handle same branch copies using createBranch to allow reseating
branch tip to an older revision.

7 years agoMerge branch 'master' of git://gitorious.org/svn2git/svn2git
Torgny Nyblom [Sun, 27 Jun 2010 17:13:17 +0000 (19:13 +0200)]
Merge branch 'master' of git://gitorious.org/svn2git/svn2git

8 years agoAdd --force to 'git fast-import' command-line 6
Raja R Harinath [Mon, 21 Jun 2010 13:38:23 +0000 (19:08 +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.

8 years agoAllow comments (start with '#') in accounts map 7
José Manuel Santamaría Lema [Mon, 21 Jun 2010 14:07:47 +0000 (16:07 +0200)]
Allow comments (start with '#') in accounts map

8 years agoFix type error
Raja R Harinath [Sun, 20 Jun 2010 18:58:51 +0000 (00:28 +0530)]
Fix type error

8 years agoImprove progess log
Raja R Harinath [Sun, 20 Jun 2010 17:29:41 +0000 (22:59 +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<svn-rev> branch <git-branch> = (:<mark> | <other-git-branch>)

with a possible trailing # comment.  Any line not matching this can be

The incremental mode would prime the internal structures with

  if (<mark>) repository->commitMarks[<svn-rev>] = <mark>;
  repository->branches[<git-branch>].commits.append(<svn-rev>);

8 years agoTrack commits per-branch
Raja R Harinath [Sun, 20 Jun 2010 13:45:39 +0000 (19:15 +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.

8 years agoImprove determination of branch point
Raja R Harinath [Sat, 19 Jun 2010 15:09:50 +0000 (20:39 +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.

8 years agoStore marks to file so that the ProcessCache system works
Raja R Harinath [Sat, 19 Jun 2010 15:01:31 +0000 (20:31 +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.

8 years agoFix typo
Raja R Harinath [Sat, 19 Jun 2010 15:00:17 +0000 (20:30 +0530)]
Fix typo

8 years agoInitialize lastmark
Raja R Harinath [Sat, 19 Jun 2010 14:58:53 +0000 (20:28 +0530)]
Initialize lastmark

Ensure that marks start at 1, now that they're visible in the logs

8 years agoAdd proper APR_INCLUDE for openSUSE
Johannes Obermayr [Sat, 19 Jun 2010 10:57:26 +0000 (12:57 +0200)]
Add proper APR_INCLUDE for openSUSE

8 years agoAdd "-lapr-1 -lsvn_subr-1" to the linker options. 5
José Manuel Santamaría Lema [Fri, 4 Jun 2010 22:54:25 +0000 (00:54 +0200)]
Add "-lapr-1 -lsvn_subr-1" to the linker options.

Linking against these libraries makes the program build using binutils gold.

8 years agoSave the exported marks along with the associated revisions for later use.
Torgny Nyblom [Tue, 18 May 2010 17:51:52 +0000 (19:51 +0200)]
Save the exported marks along with the associated revisions for later use.

8 years agoMake git fast-import save the used marks and hashes for later use.
Torgny Nyblom [Tue, 18 May 2010 17:50:48 +0000 (19:50 +0200)]
Make git fast-import save the used marks and hashes for later use.

8 years agoInitialize lastmark
Torgny Nyblom [Tue, 18 May 2010 17:49:48 +0000 (19:49 +0200)]
Initialize lastmark

8 years agoFix broken utf-8 filenames.
Pavel Plesov [Mon, 17 May 2010 23:12:19 +0000 (03:12 +0400)]
Fix broken utf-8 filenames.

8 years agoAdd debug
Torgny Nyblom [Sat, 8 May 2010 13:48:00 +0000 (15:48 +0200)]
Add debug

8 years agoMerge branch 'master' of gitorious.org:svn2git/svn2git
Marc Guenther [Thu, 6 May 2010 12:11:10 +0000 (14:11 +0200)]
Merge branch 'master' of gitorious.org:svn2git/svn2git

8 years agoTry and branch from the correct svn revision rather then the last one.
Torgny Nyblom [Tue, 4 May 2010 05:03:14 +0000 (07:03 +0200)]
Try and branch from the correct svn revision rather then the last one.

8 years agoFix svn.replace
Torgny Nyblom [Mon, 3 May 2010 18:07:04 +0000 (20:07 +0200)]
Fix svn.replace

8 years agoImplement the replace node changeset which exists from some repositories namely the...
Ulrich Spörlein [Mon, 19 Apr 2010 21:06:00 +0000 (23:06 +0200)]
Implement the replace node changeset which exists from some repositories namely the FreeBSD svn rep

8 years agoSplit into two rows.
Torgny Nyblom [Thu, 29 Apr 2010 18:48:17 +0000 (20:48 +0200)]
Split into two rows.

8 years agoPrint more info on what is exported where
Ulrich Spörlein [Mon, 19 Apr 2010 21:06:00 +0000 (23:06 +0200)]
Print more info on what is exported where

8 years agosmall typo in debug message 4
Marc Guenther [Tue, 20 Apr 2010 20:45:14 +0000 (22:45 +0200)]
small typo in debug message

8 years agoerror message and exit when rules file cannot be read
Marc Guenther [Fri, 16 Apr 2010 15:34:15 +0000 (17:34 +0200)]
error message and exit when rules file cannot be read

8 years agoMerge remote branch 'svn2git/master' 2
Marc Guenther marcguenther@me.com [Wed, 14 Apr 2010 20:21:17 +0000 (22:21 +0200)]
Merge remote branch 'svn2git/master'

8 years agoMove slash cleaning to a more generic place
Torgny Nyblom [Wed, 14 Apr 2010 17:46:38 +0000 (19:46 +0200)]
Move slash cleaning to a more generic place

8 years agoMerge remote branch 'svn2git/master'
Marc Guenther marcguenther@me.com [Wed, 14 Apr 2010 14:04:15 +0000 (16:04 +0200)]
Merge remote branch 'svn2git/master'

Conflicts:
src/svn.cpp

8 years ago'prefix' rule didn't allow \1 \2 replacements
Marc Guenther marcguenther@me.com [Wed, 14 Apr 2010 11:10:29 +0000 (13:10 +0200)]
'prefix' rule didn't allow \1 \2 replacements

8 years agoFix logical error in last commit. There was no slash added between
Torgny Nyblom [Tue, 13 Apr 2010 17:28:40 +0000 (19:28 +0200)]
Fix logical error in last commit. There was no slash added between
prefix and path under certain conditions.

8 years agoOups (use the correct string)
Torgny Nyblom [Mon, 12 Apr 2010 18:38:25 +0000 (20:38 +0200)]
Oups (use the correct string)

8 years agoFix logical error (deleted paths was ignored)
Torgny Nyblom [Mon, 12 Apr 2010 18:37:06 +0000 (20:37 +0200)]
Fix logical error (deleted paths was ignored)
Improve the ruleparser so that prefix never starts or ends with a '/'

8 years agoDitch the Rootdir option and add a prefix one instead (Thiago is always correct :))
Torgny Nyblom [Mon, 12 Apr 2010 14:58:22 +0000 (16:58 +0200)]
Ditch the Rootdir option and add a prefix one instead (Thiago is always correct :))

8 years agoAdd support for git-svn author files
Sebastian Pipping [Tue, 23 Mar 2010 22:22:51 +0000 (23:22 +0100)]
Add support for git-svn author files

8 years agoAdd command line option to print what rules are used on each file.
Torgny Nyblom [Thu, 25 Mar 2010 18:28:09 +0000 (19:28 +0100)]
Add command line option to print what rules are used on each file.

8 years agoAdd commandline option for when to flush the commit queue.
Torgny Nyblom [Thu, 25 Mar 2010 18:01:34 +0000 (19:01 +0100)]
Add commandline option for when to flush the commit queue.

8 years agoAdd support for a new rule tag:
Torgny Nyblom [Mon, 15 Mar 2010 18:45:14 +0000 (19:45 +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

8 years agoRevert half of last commit, only one regexp was duplicate.
Torgny Nyblom [Sun, 14 Mar 2010 10:39:54 +0000 (11:39 +0100)]
Revert half of last commit, only one regexp was duplicate.

8 years agoRemove duplicate regexp
Torgny Nyblom [Sun, 14 Mar 2010 09:23:10 +0000 (10:23 +0100)]
Remove duplicate regexp

8 years agoUpdate with vng version; Fix command line parser reporting wrong options
Thomas Zander [Sat, 6 Mar 2010 17:39:39 +0000 (18:39 +0100)]
Update with vng version; Fix command line parser reporting wrong options

8 years agoChange license on files where I am copyright holder to GPLv3.
Thiago Macieira [Wed, 3 Mar 2010 19:04:41 +0000 (20:04 +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.