Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to the Power Users community on Codidact!

Power Users is a Q&A site for questions about the usage of computer software and hardware. We are still a small site and would like to grow, so please consider joining our community. We are looking forward to your questions and answers; they are the building blocks of a repository of knowledge we are building together.

Comments on Get unique list of all files in a git repository, which I modified

Post

Get unique list of all files in a git repository, which I modified

+6
−1

I would like to get a list of all the files in a git repository which I modified.

Take for example the repository https://github.com/josephwright/beamer . I tried the command

git whatchanged --author=samcarter --no-commit-id --name-only

but the resulting list does have tons of duplicate entries.

CHANGELOG.md
base/beamerbaseframe.sty
CHANGELOG.md
CHANGELOG.md
base/beamer.cls
doc/beamerug-frames.tex
CHANGELOG.md
base/themes/outer/beamerouterthemedefault.sty
doc/beamerug-overlays.tex
doc/beamerug-overlays.tex
CHANGELOG.md
base/beamerbaseframe.sty
doc/beamerug-frames.tex
CHANGELOG.md
base/themes/outer/beamerouterthemesidebar.sty
doc/beamerug-frames.tex
CHANGELOG.md
base/beamerbaseframesize.sty
base/themes/outer/beamerouterthemedefault.sty
.gitignore
base/beamerbaseboxes.sty
CHANGELOG.md
base/beamerbaseboxes.sty
CHANGELOG.md
base/beamerbaseboxes.sty
base/beamerbaseboxes.sty
CHANGELOG.md
CHANGELOG.md
base/themes/outer/beamerouterthemedefault.sty
doc/beamerug-frames.tex
doc/beamerug-nonpresentation.tex
doc/beameruserguide.tex
CHANGELOG.md
base/themes/inner/beamerinnerthemedefault.sty
CHANGELOG.md
base/beamer.cls
base/beamerbaseframecomponents.sty
doc/beamerug-localstructure.tex
doc/beamerug-notes.tex
CHANGELOG.md
base/beamerbaseboxes.sty
CHANGELOG.md
base/beamerbasefont.sty
CHANGELOG.md
base/beamerbaseframecomponents.sty
CHANGELOG.md
base/beamer.cls
base/beamerbasenotes.sty
doc/beamerug-notes.tex
CHANGELOG.md
base/themes/outer/beamerouterthemesmoothtree.sty
CHANGELOG.md
base/themes/outer/beamerouterthemesmoothbars.sty
CHANGELOG.md
base/themes/outer/beamerouterthemesmoothbars.sty
CHANGELOG.md
base/themes/outer/beamerouterthemesmoothbars.sty
doc/beamerug-animations.tex
doc/beamerug-color.tex
doc/beamerug-compatibility.tex
doc/beamerug-elements.tex
doc/beamerug-emulation.tex
doc/beamerug-fonts.tex
doc/beamerug-frames.tex
doc/beamerug-globalstructure.tex
doc/beamerug-graphics.tex
doc/beamerug-guidelines.tex
doc/beamerug-installation.tex
doc/beamerug-interaction.tex
doc/beamerug-introduction.tex
doc/beamerug-license.tex
doc/beamerug-localstructure.tex
doc/beamerug-macros.tex
doc/beamerug-nonpresentation.tex
doc/beamerug-notes.tex
doc/beamerug-overlays.tex
doc/beamerug-solutions.tex
doc/beamerug-themes.tex
doc/beamerug-transparencies.tex
doc/beamerug-tricks.tex
doc/beamerug-tutorial.tex
doc/beamerug-twoscreens.tex
doc/beamerug-workflow.tex
doc/beamerug-fonts.tex
CHANGELOG.md
base/beamerbasecompatibility.sty
base/beamerbasecompatibility.sty
CHANGELOG.md
CHANGELOG.md
base/beamerbaseauxtemplates.sty
doc/beamerug-notes.tex
CHANGELOG.md
base/beamerbasecompatibility.sty
doc/beamerug-compatibility.tex
CHANGELOG.md
base/beamerbaseauxtemplates.sty
doc/beamerug-frames.tex
doc/beamerug-animations.tex
doc/beamerug-globalstructure.tex
doc/beamerug-installation.tex
doc/beamerug-interaction.tex
doc/beamerug-introduction.tex
doc/beamerug-nonpresentation.tex
doc/beamerug-notes.tex
doc/beamerug-workflow.tex
doc/beameruserguide.tex
doc/emulation-examples/beamerexample-foils.tex
doc/emulation-examples/beamerexample-prosper.tex
CHANGELOG.md
CHANGELOG.md
base/beamerbaseboxes.sty
doc/beamerug-frames.tex
doc/beamerug-elements.tex
CHANGELOG.md
base/themes/outer/beamerouterthemeinfolines.sty
base/beamerbaseauxtemplates.sty
doc/beamerug-installation.tex
doc/beamerug-solutions.tex
doc/beamerug-tutorial.tex
doc/beamerug-workflow.tex
doc/beameruserguide.tex
doc/beamerug-localstructure.tex
CHANGELOG.md
base/beamer.cls
base/beamerbaseauxtemplates.sty
base/beamerbasetoc.sty
doc/beamerug-globalstructure.tex
CHANGELOG.md
base/beamerbaseauxtemplates.sty
base/beamer.cls
CHANGELOG.md
base/beamerbasemodes.sty
base/beamerbasesection.sty
build.lua
AUTHORS.md
CHANGELOG.md
base/beamerbaseboxes.sty
CHANGELOG.md
CHANGELOG.md
CHANGELOG.md
base/beamerbaseboxes.sty
base/beamerbaseboxes.sty
base/beamerbaselocalstructure.sty
base/themes/outer/beamerouterthemesidebar.sty
CHANGELOG.md
base/beamerbaseboxes.sty
base/beamerbaseboxes.sty
base/beamerbaseboxes.sty
base/beamerbaseboxes.sty
base/themes/outer/beamerouterthemeshadow.sty
doc/beamerug-guidelines.tex
CHANGELOG.md
CHANGELOG.md
base/beamerbasefont.sty
doc/emulation-examples/beamerexample-prosper.tex
doc/beamerthemeexamplebase.tex
doc/emulation-examples/beamerexample-prosper.tex
doc/examples/a-conference-talk/beamerexample-conference-talk.tex
doc/examples/a-lecture/beamerexample-lecture-style.tex
doc/solutions/conference-talks/conference-ornate-20min.de.tex
doc/solutions/conference-talks/conference-ornate-20min.en.tex
doc/solutions/conference-talks/conference-ornate-20min.fr.tex
doc/solutions/generic-talks/generic-ornate-15min-45min.de.tex
doc/solutions/generic-talks/generic-ornate-15min-45min.en.tex
doc/solutions/generic-talks/generic-ornate-15min-45min.fr.tex
doc/solutions/short-talks/speaker_introduction-ornate-2min.de.tex
doc/solutions/short-talks/speaker_introduction-ornate-2min.en.tex
doc/solutions/short-talks/speaker_introduction-ornate-2min.fr.tex
base/beamerbaselocalstructure.sty
base/beamerbaselocalstructure.sty
doc/beamerug-globalstructure.tex
doc/beamerug-elements.tex
CHANGELOG.md
base/themes/inner/beamerinnerthemeinmargin.sty
CHANGELOG.md
base/beamerbaseoverlay.sty
doc/beamerug-animations.tex
base/beamerbasenotes.sty
base/beamerbasetwoscreens.sty
doc/beamerug-notes.tex
doc/beamerug-twoscreens.tex
base/beamerbasenotes.sty
base/beamerbasetwoscreens.sty
doc/beamerug-notes.tex
doc/beamerug-twoscreens.tex
doc/beamerug-notes.tex
doc/beamerug-twoscreens.tex
base/beamerbasenotes.sty
base/beamerbasetwoscreens.sty
base/beamer.cls
doc/beamerug-animations.tex
CHANGELOG.md
base/beamerbaselocalstructure.sty
doc/beamerug-color.tex
doc/beamerug-introduction.tex
CHANGELOG.md
base/beamerbasenotes.sty
doc/beamerug-installation.tex
doc/beamerug-nonpresentation.tex
doc/beamerug-nonpresentation.tex
doc/beamerug-animations.tex
doc/beamerug-localstructure.tex
CHANGELOG.md
base/themes/outer/beamerouterthemedefault.sty
base/themes/outer/beamerouterthemeshadow.sty
base/themes/outer/beamerouterthemesmoothbars.sty
base/themes/outer/beamerouterthemesmoothtree.sty
base/themes/inner/beamerinnerthemeinmargin.sty
doc/beamerug-frames.tex
base/themes/outer/beamerouterthemedefault.sty
doc/beameruserguide.tex
doc/beamerug-interaction.tex
doc/beamerug-tutorial.tex
doc/beamerug-frames.tex
doc/beamerug-frames.tex
doc/beamerug-frames.tex
doc/beamerug-frames.tex
base/beamerbasecolor.sty
CHANGELOG.md
base/beamerbasenotes.sty
base/beamerbasearticle.sty
base/beamerbasecolor.sty
base/themes/color/beamercolorthemedefault.sty
base/themes/outer/beamerouterthemeinfolines.sty
base/themes/outer/beamerouterthememiniframes.sty
base/themes/outer/beamerouterthemesplit.sty
base/themes/inner/beamerinnerthemerounded.sty
doc/beamerug-frames.tex
base/themes/outer/beamerouterthemeinfolines.sty
base/themes/outer/beamerouterthememiniframes.sty
base/themes/outer/beamerouterthemesplit.sty
base/themes/font/beamerfontthemedefault.sty
base/themes/color/beamercolorthemedefault.sty
doc/beamerug-globalstructure.tex
doc/beamerug-globalstructure.tex
doc/beamerug-frames.tex
base/beamerbaseauxtemplates.sty
base/themes/outer/beamerouterthemeinfolines.sty
base/beamerbaseauxtemplates.sty
base/themes/outer/beamerouterthemeinfolines.sty

Is there any better to get such a list without duplicates?

P.S. My main OS is mac OS 11.6.1, but I've also fedora, ubuntu and scientific linux avaiable in case it is easier on any of them

History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

2 comment threads

Version control belongs on Software Development (3 comments)
Operating system? (4 comments)
Operating system?
Quasímodo‭ wrote about 2 years ago

Assuming this is not available as a option to git itself, stating your operating system is important (unless you want to gather information for all of them). Your proposed solution, sort -u, is ideal for Unix systems. I guess in Windows things would be different, since it doesn't follow the POSIX standard.

Note also that the question is a particular case of the canonical "how do I remove duplicate entries from a file/stream/...".

samcarter‭ wrote about 2 years ago

@Quasímodo‭ Thanks for your comment. I added my OS, but I would basically be happy with an solution for any one from *unix

I was wondering if to formulate it more general without the focus on the particular use case, but if there were some build function in git or an interface on github, I did not want to exclude such approaches.

samcarter‭ wrote about 2 years ago

Quasímodo‭ "I guess in Windows things would be different, since it doesn't follow the POSIX standard." I did not touch a windows machine for years, but shouldn't basic functions now be available via the linux subsystem?

Quasímodo‭ wrote about 2 years ago

Very likely, although I also do not use Windows for years, so I don't even know if WSL is bundled by default or if it needs to be installed.