Skip to contentSkip to conversation

git fetcher: add doc for supported options

PATCH In review Yu Ke 3 participants 6 messages May 24, 2011 – May 25, 2011

lore
Share & tools
lore

Yu Ke

author
#0 lore raw

cover git fetcher: add doc for supported options

The following changes since commit 3504c3a9b1af5a3405e0a03a5ade50b82535b6dd:
Scott Rifenbark (1):
documentation/yocto-project-qs/yocto-project-qs.xml: fixed build env script

are available in the git repository at:

git://git.pokylinux.org/poky-contrib kyu3/git-doc
http://git.pokylinux.org/cgit.cgi//log/?h=kyu3/git-doc

Yu Ke (1):
fetcher2/git: add document for git fetcher supported options

 bitbake/lib/bb/fetch2/git.py |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)
author
#1 lore raw

PATCH 1/1 fetcher2/git: add document for git fetcher supported options

CC Khem Raj <[email protected]>
CC Darren Hart <[email protected]>
---
 bitbake/lib/bb/fetch2/git.py |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)
bitbake/lib/bb/fetch2/git.py +34 -3
index 82721c6..b07298d 100644
@@ -3,6 +3,40 @@
 """
 BitBake 'Fetch' git implementation
 
+git fetcher support the SRC_URI with format of:
+SRC_URI = "git://some.host/somepath;OptionA=xxx;OptionB=xxx;..."
+
+Supported SRC_URI options are:
+
+- branch
+   The git branch to retrieve from. The default is "master"
+
+   this option also support multiple branches fetching, branches
+   are seperated by comma. in multiple branches case, the name option
+   must have the same number of names to match the branches, which is
+   used to specify the SRC_REV for the branch
+   e.g:
+   SRC_URI="git://some.host/somepath;branch=branchX,branchY;name=nameX,nameY"
+   SRCREV_nameX = "xxxxxxxxxxxxxxxxxxxx"
+   SRCREV_nameY = "YYYYYYYYYYYYYYYYYYYY"
+
+- tag
+    The git tag to retrieve. The default is "master"
+
+- protocol
+   The method to use to access the repository. Common options are "git",
+   "http", "file" and "rsync". The default is "rsync"
+
+- rebaseable
+   rebaseable indicates that the upstream git repo may rebase in the future,
+   and current revision may disappear from upstream repo. This option will
+   reminder fetcher to preserve local cache carefully for future use.
+   The default value is "0", set rebaseable=1 for rebaseable git repo
+
+- nocheckout
+   Don't checkout source code when unpacking. set this option for the recipe
+   who has its own routine to checkout code. The default is false
+
 """
 
 #Copyright (C) 2005 Richard Purdie
@@ -57,9 +91,6 @@ class Git(FetchMethod):
         if 'nocheckout' in ud.parm:
             ud.nocheckout = True
 
-        # rebaseable means the upstream git repo may rebase in the future,
-        # and current revision may disappear from upstream repo
-        # rebaseable is false by default. set rebaseable=1 in SRC_URI if rebaseable.
         ud.rebaseable = ud.parm.get("rebaseable","0") == "1"
 
         branches = ud.parm.get("branch", "master").split(',')
Signature · 1 line
1.7.0.4
#2 lore raw

Re: [PATCH 1/1] fetcher2/git: add document for git fetcher supported options

Op 24 mei 2011, om 08:58 heeft Yu Ke het volgende geschreven:

bitbake/lib/bb/fetch2/git.py line 28

Quoted 10 lines
CC Khem Raj <[email protected]>
CC Darren Hart <[email protected]>

---
bitbake/lib/bb/fetch2/git.py | 37 ++++++++++++++++++++++++++++++++++---

1 files changed, 34 insertions(+), 3 deletions(-)

protocol

bitbake/lib/bb/fetch2/git.py +2 -0
+   The method to use to access the repository. Common options are "git",
+   "http", "file" and "rsync". The default is "rsync"

In this day and age shouldn't we change the default to 'git'?

regards,

Koen

author
#3 lore raw

Re: [PATCH 1/1] fetcher2/git: add document for git fetcher supported options

Quoted 1 line · Koen Kooi

In this day and age shouldn't we change the default to 'git'?

Yup, it make sense. let me work out another patch to change the default protocol to git.

Regards
Ke

#4 lore raw

Re: [PATCH 1/1] fetcher2/git: add document for git fetcher supported options

In reply to Yu Ke
Quoted 35 lines · Yu Ke
CC Khem Raj <[email protected]>
CC Darren Hart <[email protected]>
---
 bitbake/lib/bb/fetch2/git.py |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 deletions(-)
bitbake/lib/bb/fetch2/git.py +19 -0
index 82721c6..b07298d 100644
@@ -3,6 +3,40 @@
 """
 BitBake 'Fetch' git implementation
 
+git fetcher support the SRC_URI with format of:
+SRC_URI = "git://some.host/somepath;OptionA=xxx;OptionB=xxx;..."
+
+Supported SRC_URI options are:
+
+- branch
+   The git branch to retrieve from. The default is "master"
+
+   this option also support multiple branches fetching, branches
+   are seperated by comma. in multiple branches case, the name option
+   must have the same number of names to match the branches, which is
+   used to specify the SRC_REV for the branch
+   e.g:
+   SRC_URI="git://some.host/somepath;branch=branchX,branchY;name=nameX,nameY"
+   SRCREV_nameX = "xxxxxxxxxxxxxxxxxxxx"
+   SRCREV_nameY = "YYYYYYYYYYYYYYYYYYYY"
+
+- tag
+    The git tag to retrieve. The default is "master"

bitbake/lib/bb/fetch2/git.py line 34

Quoted 10 lines
bitbake/lib/bb/fetch2/git.py +10 -0
+
+- protocol
+   The method to use to access the repository. Common options are "git",
+   "http", "file" and "rsync". The default is "rsync"
+
+- rebaseable
+   rebaseable indicates that the upstream git repo may rebase in the future,
+   and current revision may disappear from upstream repo. This option will
+   reminder fetcher to preserve local cache carefully for future use.
+   The default value is "0", set rebaseable=1 for rebaseable git repo

for consistency why not make rebaseable=true/false as well ?

bitbake/lib/bb/fetch2/git.py line 38

Quoted 4 lines
bitbake/lib/bb/fetch2/git.py +4 -0
+
+- nocheckout
+   Don't checkout source code when unpacking. set this option for the recipe
+   who has its own routine to checkout code. The default is false
                                                                ^^^^

may be it should be in '' or quotes

Quoted 21 lines
bitbake/lib/bb/fetch2/git.py +1 -3
+
 """
 
 #Copyright (C) 2005 Richard Purdie
@@ -57,9 +91,6 @@ class Git(FetchMethod):
         if 'nocheckout' in ud.parm:
             ud.nocheckout = True
 
-        # rebaseable means the upstream git repo may rebase in the future,
-        # and current revision may disappear from upstream repo
-        # rebaseable is false by default. set rebaseable=1 in SRC_URI if rebaseable.
         ud.rebaseable = ud.parm.get("rebaseable","0") == "1"
 
         branches = ud.parm.get("branch", "master").split(',')
Signature · 6 lines
1.7.0.4

_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky
Signature · 1 line
-Khem
author
#5 lore raw

Re: [PATCH 1/1] fetcher2/git: add document for git fetcher supported options

Quoted 49 lines · Khem Raj
Quoted 35 lines · Yu Ke
CC Khem Raj<[email protected]>
CC Darren Hart<[email protected]>
---
  bitbake/lib/bb/fetch2/git.py |   37 ++++++++++++++++++++++++++++++++++---
  1 files changed, 34 insertions(+), 3 deletions(-)
bitbake/lib/bb/fetch2/git.py +19 -0
index 82721c6..b07298d 100644
@@ -3,6 +3,40 @@
  """
  BitBake 'Fetch' git implementation
 
+git fetcher support the SRC_URI with format of:
+SRC_URI = "git://some.host/somepath;OptionA=xxx;OptionB=xxx;..."
+
+Supported SRC_URI options are:
+
+- branch
+   The git branch to retrieve from. The default is "master"
+
+   this option also support multiple branches fetching, branches
+   are seperated by comma. in multiple branches case, the name option
+   must have the same number of names to match the branches, which is
+   used to specify the SRC_REV for the branch
+   e.g:
+   SRC_URI="git://some.host/somepath;branch=branchX,branchY;name=nameX,nameY"
+   SRCREV_nameX = "xxxxxxxxxxxxxxxxxxxx"
+   SRCREV_nameY = "YYYYYYYYYYYYYYYYYYYY"
+
+- tag
+    The git tag to retrieve. The default is "master"

bitbake/lib/bb/fetch2/git.py line 34

Quoted 10 lines
bitbake/lib/bb/fetch2/git.py +10 -0
+
+- protocol
+   The method to use to access the repository. Common options are "git",
+   "http", "file" and "rsync". The default is "rsync"
+
+- rebaseable
+   rebaseable indicates that the upstream git repo may rebase in the future,
+   and current revision may disappear from upstream repo. This option will
+   reminder fetcher to preserve local cache carefully for future use.
+   The default value is "0", set rebaseable=1 for rebaseable git repo

for consistency why not make rebaseable=true/false as well ?

Quoted 6 lines

bitbake/lib/bb/fetch2/git.py line 38

Quoted 4 lines
bitbake/lib/bb/fetch2/git.py +4 -0
+
+- nocheckout
+   Don't checkout source code when unpacking. set this option for the recipe
+   who has its own routine to checkout code. The default is false
                                                                 ^^^^

may be it should be in '' or quotes

Good catch. my description is not 100% accurate here. Actually this parameter has no default value. According to the nocheckout handling code:
"
ud.nocheckout = False
if 'nocheckout' in ud.parm:
ud.nocheckout = True
"
the value does not matter, what matters is that if the SRC_URI have this option set. In another word, "nocheckout=0" also lead to ud.nocheckout=True.

So I am thinking if it is better to make the nocheckout format the same as rebaseable, e.g. "

	ud.nocheckout = ud.parm.get("nocheckout","0") == "1"

"
i.e. the default value is "0", and set nocheckout=1 for nocheckout recipe. In this case, we have consistency format. And this format also consist with other bitbake variable, for example, BB_GENERATE_MIRROR_TARBALLS. Also the current existing recipes are already using the "nocheckout=1" format, so this change require no recipe change.

Comments?

Regards
Ke