Skip to content

Rules in the form /project/tags/([^/]+)/dir_name/ are not being fetched into the new git-repository #83

Open
@mono-princess

Description

@mono-princess

The structure of my svn repository looks similar to this:

/Poject/
    trunk/
        dir1/
        dir2/
        dir3/
         ...
         dir<n>/
    branches/
        branch_1/
            dir1/           
            dir2/           
            dir3/    
        branch_2/
            dir1/           
            dir2/           
            dir3/        
            ...
            dir<n>/ 
    tags/
        tag_1/
            dir1/           
            dir2/           
            dir3/    
        tag_2/
            dir1/           
            dir2/           
            dir3/     
            ...      
            dir<n>/

In reality there are several branches and several tags. Most of the tags were generated after the branches and the name of these tags is the same as the corresponding branch. The repository has over 26000 revisions.

The svn-repository is splitted into several git repositories (in total 8) where some of the directories (dir1, ..., dir<n>) were grouped together, for example:

  • git_repo_1 = dir1 + dir4 +dir5
  • git_repo_2 = dir2
  • git_repo_3 = dir6 + dir10
    ...

Here is the rules file for this repository:

# Declare the repositories we know about:
#

create repository git_repo_1 
end repository
create repository git_repo_2
end repository
create repository git_repo_3
end repository


#
# git_repo_1 
#
# git_repo_1 = dir1 + dir4 +dir5
#

match /Project/trunk/(dir1|dir4|dir5)/
  repository git_repo_1 
  prefix \1/
  branch master
end match
match /Project/branches/([^/]+)/(dir1|dir4|dir5)/
  repository git_repo_1 
  prefix \2/
  branch \1
end match
match /Project/tags/([^/]+)/(dir1|dir4|dir5)/
  repository git_repo_1 
  prefix \2/
  branch refs/tags/v\1
  annotated true
end match

#
# git_repo_2 = dir2
#

match /Project/trunk/dir2/
  repository git_repo_2
  branch master
end match
match /Project/branches/([^/]+)/dir2/
  repository git_repo_2 
  branch \1
end match
match /Project/tags/([^/]+)/dir2/
  repository git_repo_2
  branch refs/tags/v\1
  annotated true
end match


#
# git_repo_3
#
# git_repo_3= dir6 + dir10
#

match /Project/trunk/(dir6 |dir10)/
  repository git_repo_3
  prefix \1/
  branch master
end match
match /Project/branches/([^/]+)/(dir6 |dir10)/
  repository git_repo_3
  prefix \2/
  branch \1
end match
match /Project/tags/([^/]+)/(dir6 |dir10)/
  repository git_repo_3
  prefix \2/
  branch refs/tags/v\1
  annotated true
end match

match /
end match

Results:

  • After performing the migration not all the tags were fetched into the corresponding git-repositories.

  • In the logs there was found a message the following message for some repositories: recursiveDumpDir: "/Project/tags/tag_1/dir2/" skip entry for different/ignored repository

Questions:

Why are the tags not fetched?

Why did the message recursiveDumpDir appear in the logs even though none of the match definitions contains the parameter action export and all them have defined the parameter repository?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions