Giter Site home page Giter Site logo

git deps with limit about git-deps HOT 12 OPEN

openchung avatar openchung commented on July 28, 2024
git deps with limit

from git-deps.

Comments (12)

aspiers avatar aspiers commented on July 28, 2024

@openchung commented on September 10, 2020 4:12 PM:

We use the branch strategy to merge each Feature to the SIT branch, and use git deps to find all the dependencies at each SIT Commit point, Cherry-pick to the UAT branch, but we found that when the amount of commit is quite large, git deps is not work to produce result.

What do you mean exactly here? What doesn't work?

Is there a limitation for git deps?

Yes there are limitations. It only detects textual dependencies which does not guarantee correctness, and this can also sometimes result in a very large dependency tree which can potentially be avoided by manually porting commits between branches in a way which minimises dependencies.

If not, what is the possibility that the results will not run out? Thanks

It is possible that the dependency tree will be extremely large. You should make sure you are using -e to exclude any commits which have already been ported to the new branch.

from git-deps.

futureweihk avatar futureweihk commented on July 28, 2024

Sir,

2020-09-14 17_11_34-Clipboard

For example, in above image, the commit point contains around 360 addition and 688681 deletion, and when try to find the git deps point, it running a very long time (over 30mins and no response), is that the limitation you mentioned? are there any method to enhance the speed/performance, many thanks.

from git-deps.

futureweihk avatar futureweihk commented on July 28, 2024

"It only detects textual dependencies" is that mean the special character in the file will produce error?

2d6fe71b-092b-4033-98d5-479eea386a84

For example, sometimes the result is like above, showing utf-8 can not decode error

from git-deps.

aspiers avatar aspiers commented on July 28, 2024

@futureweihk commented on September 14, 2020 10:14 AM:

Sir,

2020-09-14 17_11_34-Clipboard

For example, in above image, the commit point contains around 360 addition and 688681 deletion, and when try to find the git deps point, it running a very long time (over 30mins and no response), is that the limitation you mentioned? are there any method to enhance the speed/performance, many thanks.

If the commit is this big, something sounds badly wrong to me. Commits must be as small as possible. git-deps will not work well with huge commits.

from git-deps.

aspiers avatar aspiers commented on July 28, 2024

@futureweihk commented on September 14, 2020 10:20 AM:

"It only detects textual dependencies" is that mean the special character in the file will produce error?

For example, sometimes the result is like above, showing utf-8 can not decode error

No that is a completely different issue. It is very important to understand the difference between textual and semantic dependencies, so please read https://github.com/aspiers/git-deps#textual-vs-semantic-independence

from git-deps.

futureweihk avatar futureweihk commented on July 28, 2024

@futureweihk commented on September 14, 2020 10:14 AM:

Sir,
2020-09-14 17_11_34-Clipboard
For example, in above image, the commit point contains around 360 addition and 688681 deletion, and when try to find the git deps point, it running a very long time (over 30mins and no response), is that the limitation you mentioned? are there any method to enhance the speed/performance, many thanks.

If the commit is this big, something sounds badly wrong to me. Commits must be as small as possible. git-deps will not work well with huge commits.

Thanks for your clarification, could you please suggest are there any suggested limit, like no more than 50 files and 10000 add or deletions?
is the performance related to buffering, I mean when the tree expands, maybe the buffered data is overed the capacity, are there any parameter(maybe in some config file?) to set? thanks

from git-deps.

aspiers avatar aspiers commented on July 28, 2024

@futureweihk commented on September 15, 2020 7:27 AM:

Commits must be as small as possible. git-deps will not work well with huge commits.

Thanks for your clarification, could you please suggest are there any suggested limit, like no more than 50 files and 10000 add or deletions?

If it's code then usually I'd say no more than 5 or 10 files and 50 to 100 adds or deletions.

Here are some good links to read:

is the performance related to buffering, I mean when the tree expands, maybe the buffered data is overed the capacity, are there any parameter(maybe in some config file?) to set? thanks

No it's nothing to do with buffering. It's a combination of git blame being expensive and the fact that the dependency tree will often mushroom in complexity. This is absolutely expected when not following best practices for small commits.

from git-deps.

futureweihk avatar futureweihk commented on July 28, 2024

Many thanks for your patient and detailed responses, I will learn from your reference links first.

@futureweihk commented on September 15, 2020 7:27 AM:

Commits must be as small as possible. git-deps will not work well with huge commits.

Thanks for your clarification, could you please suggest are there any suggested limit, like no more than 50 files and 10000 add or deletions?

If it's code then usually I'd say no more than 5 or 10 files and 50 to 100 adds or deletions.

Here are some good links to read:

is the performance related to buffering, I mean when the tree expands, maybe the buffered data is overed the capacity, are there any parameter(maybe in some config file?) to set? thanks

No it's nothing to do with buffering. It's a combination of git blame being expensive and the fact that the dependency tree will often mushroom in complexity. This is absolutely expected when not following best practices for small commits.

from git-deps.

futureweihk avatar futureweihk commented on July 28, 2024

2020-09-16 14:24:51,520 WARN [runner.ScriptBindingsManager]: Error executing command: sh /log/jirasoftware-home/scripts/gitdeps.sh 2659_gib 3f9d22578c5292d293b210f24c6545180616cd5b UAT_GIB.202010.01_cherrypick_refs
Traceback (most recent call last):
File "/usr/local/bin/git-deps", line 8, in
sys.exit(run())
File "/usr/local/lib/python3.6/site-packages/git_deps/cli.py", line 141, in run
main(sys.argv[1:])
File "/usr/local/lib/python3.6/site-packages/git_deps/cli.py", line 135, in main
cli(options, args)
File "/usr/local/lib/python3.6/site-packages/git_deps/cli.py", line 119, in cli
detector.find_dependencies(rev)
File "/usr/local/lib/python3.6/site-packages/git_deps/detector.py", line 122, in find_dependencies
self.find_dependencies_with_parent(dependent, parent)
File "/usr/local/lib/python3.6/site-packages/git_deps/detector.py", line 147, in find_dependencies_with_parent
self.blame_hunk(dependent, parent, path, hunk)
File "/usr/local/lib/python3.6/site-packages/git_deps/detector.py", line 172, in blame_hunk
blame = subprocess.check_output(cmd, universal_newlines=True)
File "/usr/local/lib/python3.6/subprocess.py", line 356, in check_output
**kwargs).stdout
File "/usr/local/lib/python3.6/subprocess.py", line 425, in run
stdout, stderr = process.communicate(input, timeout=timeout)
File "/usr/local/lib/python3.6/subprocess.py", line 850, in communicate
stdout = self.stdout.read()
File "/usr/local/lib/python3.6/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 498: invalid start byte

Dear Sir, have you ever seen error message like above? we can not find the reason for such error

from git-deps.

aspiers avatar aspiers commented on July 28, 2024

This looks like a Python 3 / UTF-8 issue which is unrelated to the discussion above. Please file a separate issue for this.

from git-deps.

aspiers avatar aspiers commented on July 28, 2024

As the above questions have been answered, I will close this issue now. We can cover other topics in separate issues.

from git-deps.

futureweihk avatar futureweihk commented on July 28, 2024

OK,thanks

As the above questions have been answered, I will close this issue now. We can cover other topics in separate issues.

from git-deps.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.