| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This might fix the issue with an extra empty diff commit before all
tags.
|
|
|
|
| |
new branch instead of using the contents of the git "from" branch.
|
| |
|
| |
|
|
|
|
|
|
| |
commit()
Prepare for handling cvs2svn borked tags/branches
|
|
|
|
|
| |
Fix issue where if a branch reset was triggered before a branch deletion
in the same revision the reset was overridden by the deletion
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/ |
|
| |
|
|\ |
|
| | |
|
| | |
|
|/
|
|
| |
this happens in kde svn rev 841619
|
| |
|
| |
|
| |
|
|
|
|
| |
tree is not what it seems like
|
|
|
|
| |
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.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |\
| | |
| | |
| | | |
git://gitorious.org/~marcguenther/svn2git/marcguenther-svn2git into integration
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.)
|
| |
| |
| |
| |
| | |
Experience with the mono tree shows that it isn't too annoying, and
there might be some useful history hidden in there.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
| |
branch tip to an older revision.
|
| |
|
|
|
|
| |
namely the FreeBSD svn rep
|
| |
|
|\ |
|
| | |
|
|\ \
| |/
| |
| |
| | |
Conflicts:
src/svn.cpp
|
| |
| |
| |
| | |
prefix and path under certain conditions.
|
|/ |
|
| |
|
|
|
|
| |
Improve the ruleparser so that prefix never starts or ends with a '/'
|
|
|
|
| |
correct :))
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
mktime interprets its input in the local timezone. This can be fixed
by using timegm instead of mktime.
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Signed-off-by: Thiago Macieira <thiago@kde.org>
|