File: SPECIFICATION.namespaces

package info (click to toggle)
git-ubuntu 1.1-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,688 kB
  • sloc: python: 13,378; sh: 480; makefile: 2
file content (68 lines) | stat: -rw-r--r-- 2,469 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
Expected refs for various operations in the git repository:

After "git ubuntu clone":

pkg remote
  push refspec:
	N/A (not present to prevent accidents)
  fetch refspecs:
	refs/heads/*:refs/remotes/pkg/* 
	refs/tags/*:refs/tags/pkg/*
        # perhaps limit to supported series but makes refspec brittle

Without mirror mode (default):

my_lp_user remote  # racb or nacc remote, etc - _my_ one is special, but documentation interpolation is a pain
  push refspec:
	N/A (none by default)
  fetch refspec:
	refs/heads/*:refs/remotes/my_lp_user/*
	refs/tags/*:refs/tags/my_lp_user/*

With mirror mode (advanced only):
my_lp_user-mirror remote  # racb-mirror or nacc-mirror remote, etc - _my_ one is special
  push refspec: +refs/heads/*:refs/heads/* +refs/tags/*:refs/tags/*
  fetch refspec: refs/heads/*:refs/heads/* refs/tags/*:refs/tags/*

Colleague remote:
  push refspec:
	N/A
  fetch refspecs:
	refs/heads/*:refs/remotes/colleague/*
	refs/tags/*:refs/tags/colleague/*

During 'git ubuntu import':

git fetch (according to `git ubuntu clone` refspecs)
# do we want a flag to prevent the following?
delete refs/heads/importer/*
delete refs/tags/importer/*
copy refs/remotes/pkg/* to refs/heads/importer/{debian,ubuntu}/*
fetch refs/tags/* to refs/tags/importer/* # in case the local tags have been manipulated

Run actual import in refs/heads/importer/*
This creates/manages the following refs:

    Distro-specific:
    heads/importer/importer/debian/pristine-tar
    heads/importer/importer/debian/dsc
    heads/importer/importer/ubuntu/pristine-tar
    heads/importer/importer/ubuntu/dsc
    heads/importer/debian/<series>  # unapplied
    heads/importer/ubuntu/devel  # unapplied
    heads/importer/ubuntu/<series>-{devel,update,proposed,security}  # unapplied
    heads/importer/applied/debian/<series>
    heads/importer/applied/ubuntu/devel
    heads/importer/applied/ubuntu/<series>-{devel,updates,proposed,security}

    Distro-general:
    importer/tags/import/<version>  # shared between Debian and Ubuntu
    importer/tags/upload/<version>  # shared between Debian and Ubuntu
    importer/tags/orphan/<version>  # shared between Debian and Ubuntu

Importer programmed to see only refs/tags/importer/*
Push refs/heads/importer/*:refs/heads/*
     refs/tags/importer/*:refs/tags/*

"git ubuntu import" has hardcoded refspecs for push; no push refspecs
exist elsewhere ever to "official" remotes