-
-
Notifications
You must be signed in to change notification settings - Fork 942
WIP Quick doc #1608
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
WIP Quick doc #1608
Changes from 1 commit
97cdb40
6a9154b
3c42bae
10ea113
b0da0a9
fb35ed1
d42d82e
47c8362
b7955ed
4534f84
03d26f0
a0045d8
9833655
3cda530
e4bbc7a
a1dfd4a
a8b5863
abe7e6e
1369bdc
9cd9431
393bae5
aa6d27f
6d78ff1
2c9c0c1
d276107
f3968f2
9ca25d7
7fa57e5
9d878af
315405d
bccf8bc
cad1e2e
7e589f3
2a45f94
ef4d6d5
8138b3a
84885a3
cf3a899
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,13 +51,78 @@ def test_cloned_repo_object(self, rw_dir): | |
# [2-test_cloned_repo_object] | ||
# We must make a change to a file so that we can add the update to git | ||
|
||
update_file = 'dir1/file2.txt' # we'll use /dir1/file2.txt | ||
update_file = 'dir1/file2.txt' # we'll use ./dir1/file2.txt | ||
with open(f"{local_dir}/{update_file}", 'a') as f: | ||
f.write('\nUpdate version 2') | ||
# ![2-test_cloned_repo_object] | ||
|
||
# [3-test_cloned_repo_object] | ||
add_file = [f"{local_dir}/{update_file}"] | ||
add_file = [f"{update_file}"] # relative path from git root | ||
repo.index.add(add_file) # notice the add function requires a list of paths | ||
# [3-test_cloned_repo_object] | ||
# ![3-test_cloned_repo_object] | ||
|
||
# code to commit - not sure how to test this | ||
# [4-test_cloned_repo_object] | ||
repo.index.commit("Update to file2") | ||
# ![4-test_cloned_repo_object] | ||
|
||
# [5-test_cloned_repo_object] | ||
file = 'dir1/file2.txt' # relative path from git root | ||
repo.iter_commits('--all', max_count=100, paths=file) | ||
LeoDaCoda marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
# Outputs: <generator object Commit._iter_from_process_or_stream at 0x7fb66c186cf0> | ||
|
||
# ![5-test_cloned_repo_object] | ||
|
||
# [6-test_cloned_repo_object] | ||
commits_for_file_generator = repo.iter_commits('--all', max_count=100, paths=file) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please see my previous comment. |
||
commits_for_file = [c for c in commits_for_file_generator] | ||
commits_for_file | ||
|
||
# Outputs: [<git.Commit "5076b368c97b01d83406ca095a301303da7f6fd4">, | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These hashes are very likely to drift. Maybe it's better to use stand-ins like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ok |
||
# <git.Commit "d8dcd544e6fc5c00f6984424fc0cb4568abe518e">] | ||
# ![6-test_cloned_repo_object] | ||
|
||
# Untracked files - create new file | ||
# [7-test_cloned_repo_object] | ||
# We'll create a file5.txt | ||
|
||
file5 = f'{local_dir}/file5.txt' | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd generally prefer not to assign variables unless these are used at least twice. |
||
with open(file5, 'w') as f: | ||
f.write('file5 version 1') | ||
# ![7-test_cloned_repo_object] | ||
|
||
# [8-test_cloned_repo_object] | ||
repo.untracked_files | ||
# Output: ['file5.txt'] | ||
# ![8-test_cloned_repo_object] | ||
|
||
# Modified files | ||
# [9-test_cloned_repo_object] | ||
# Lets modify one of our tracked files | ||
file3 = f'{local_dir}/Downloads/file3.txt' | ||
with open(file3, 'w') as f: | ||
f.write('file3 version 2') # overwrite file 3 | ||
# ![9-test_cloned_repo_object] | ||
|
||
# [10-test_cloned_repo_object] | ||
repo.index.diff(None) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Diffing has a terrible API and definitely needs a lot of explanation. |
||
# Output: [<git.diff.Diff object at 0x7fb66c076e50>, | ||
# <git.diff.Diff object at 0x7fb66c076ca0>] | ||
# ![10-test_cloned_repo_object] | ||
|
||
# [11-test_cloned_repo_object] | ||
diffs = repo.index.diff(None) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please see my previous comment. |
||
for d in diffs: | ||
print(d.a_path) | ||
|
||
# Downloads/file3.txt | ||
# file4.txt | ||
# ![11-test_cloned_repo_object] | ||
|
||
|
||
|
||
|
||
|
||
|
||
|
Uh oh!
There was an error while loading. Please reload this page.