-
-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide Version fix when project is copied to foreign GIT repository #61
Conversation
Implement fix for Version to not cause Exception when the project's source code is copied to a foreign GIT repository. The fix is to specify an optional project-name, passed to Version. If a name is provided, the code obtaining version information from GIT first tries to verify we are in the correct GIT repository. A simple heuristic was implemented, which checks the output of 'git remote -v' for the name of the project.
|
||
if proc.returncode != 0: | ||
raise Exception(proc.returncode, error) | ||
return output |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Isn't _git_cmd() actually a reasonably general wrapper for calling a subprocess to get output and catch errors? If so, shouldn't it move out of git_fetch and into a regular method named something like run_cmd()? That way the git-specific code would be much shorter and easier to read, and it would be clearer how to edit the file to support other version control systems.
Thanks for contributing this fix. It seems slightly awkward, having to fill in the project name, but I don't see any obvious better solution, and at least that's something that will almost never need editing. So this can be merged once the minor issues above are addressed, unless someone has thought of a better approach... |
Provide Version fix when project is copied to foreign Git repository
Implement fix for Version to not cause Exception when the project's
source code is copied to a foreign GIT repository.
The fix is to specify an optional project-name, passed to Version. If a
name is provided, the code obtaining version information from GIT first
tries to verify we are in the correct GIT repository. A simple heuristic
was implemented, which checks the output of 'git remote -v' for the name
of the project.