| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
This is actually already implemented and has a 100 process limit.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
This should be fine provided the cp did not also change files...
If there was a way to find out if the change is a net null, that would be
useful here.
Also, as we only use tags for markrelease on master branch, we can ignore any cross
repo tag copies as they will just clober the data we have already.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to svn mv the cauldron/PKG/current folder to a new name and
have this copied over to git.
It does not yet handle the case where subsequent commits to previous distros
for the old name are magically moved over to the new name for the repo
(which I think is the correct behaviour as noted on the sysadm mailing list)
so some kind of rename mapping will have to be kept (if I ever implement
resuming support, then this map will have to be dumped to a file and restored
again about restart)
Another problem is that the tags are apparently all squashed up due to the
svn mv commit, but this should be handled via a simple return... after dealing
with the repo rename (although some changes may get lost :( if this is not a
straight copy (i.e. svn cp + changes in the same txn)
|
|
|
|
| |
This also renames log and marks files.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the master branch is deleted, this typically means we are obsoleting our
package.
Rather than 'deal' with the branch deletion, simply rename the repository
and then continue.
We will likely have to deal with a later resurrection and also deal with
package renames better too (e.g. one commit renames and resurrecting
a specific package that was subsequently brought back from the dead)
but this will be dealt with in a later commit.
|
|
|
|
|
|
|
|
| |
In our case I svn cp'ed a file from mga3 updates to mga2. With this code in place, this
caused a merge of mga3 and mga2 which made the output of mga2 git log very misleading
(it had tags and commits from v195 of systemd even tho' we were only shipping v44 there).
I don't think we'll lose anything by simply not merging here.
|
|
|
|
|
|
|
|
| |
We have a couple revisions we want to skip globally but due to our automatic
repository creation approach and the large number of branches, we don't want
to configure rules that setup this kind of skipping.
This is a handy way to skip Pascal's great oops moment :)
|
|
|
|
|
|
|
|
|
| |
In Mageia, we have 13k+ packages and have very strict repo layout. Due to this
we want to autocreate repositories when we import packages from subversion to
git.
This does not really support reloading and continuing etc. but hopefully
that is sufficient for our import.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To see the bug in action, use an author map with umlauts, e.g.
nickname = Hällo Wörld from UTF-8 <mail@example.org>
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To see the bug in action, use an author map with umlauts, e.g.
nickname = Hällo Wörld from UTF-8 <mail@example.org>
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.
|
|
|
|
| |
Noticed by: Andy Pilate
|
|
|
|
| |
logging when --debug-rules is turned on.
|
|
|
|
| |
Forgotten by yours truly in commit 1234336.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
This reverts commit c0187417902b10698135727d911ab9018f4941eb.
|
|\
| |
| |
| | |
mr/17
|
| | |
|
|\ \
| | |
| | |
| | | |
mr/20
|
| | |
| | |
| | |
| | | |
This should fix the notes upon successive, incremental conversions.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 <rysto32@gmail.com>
|
| | |
| | |
| | |
| | | |
instead of -0000.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
ruleset."
This reverts commit 2ce7467917ef046dd9abfb1eb5464cd1ee7c7726.
|
|\ \
| | |
| | |
| | | |
into merge-requests/13
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Otherwise, what's the point of that directive. Sometimes repository does not
start from the master branch.
|
| | |
| | |
| | |
| | | |
Otherwise "action recurse" may fail on files or something else unknown.
|
|\ \ \
| | | |
| | | |
| | | | |
into merge-requests/16
|
| | |/
| |/|
| | |
| | | |
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.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
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 <manuel@evolution.com>
|
| |
| |
| |
| | |
It completely screws up KDevelop's highlighting...
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | | |
merge-requests/14
|
| |/
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
into merge-requests/12
Conflicts:
src/ruleparser.cpp
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
| |
Its value is used to fill in repository/description file used by gitweb.
|
|
|
|
|
|
| |
Git seems to always output +0000, so when filter-branching,
every single commit changes hash because dates are changed
from - to +0.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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,
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
| |
|