How can I to generate an RSS feed of Team Foundation Server commit messages?
In Visual Studio's Source Control Explorer, the "View History" option produces a nice GUI view. Likewise, the command line
tf history /recursive /stopafter:40 .
produces a nice GUI view. I'd like an RSS feed that would supply the same, or similar, information -- or even a way to wring some text out of TFS that I can reconstitute into RSS.
This is similar to the question, Sending SVN commits to an RSS feed, but I do have control over the private TFS repository.
One of the links from Grant's answer seems even better than the original page. It contains source code for ASPX file that generates an RSS feed of TFS checkins which returns information about the most recent N checkins:
http://blogs.msdn.com/jefflu/archive/2005/07/27/443900.aspx
I haven't tried it out yet, and it doesn't appear to include the checkin comment, which is the most important part from my perspective.
http://blogs.msdn.com/abhinaba/archive/2005/12/21/506277.aspx
Related
We're moving our wikis over to Azure DevOps and want to replicate the 'overview' pages we have for each section of the wiki. This is comprised of a table with links to various files (which was easy enough to create in markdown), followed by a list of recent updates to pages within that section (showing which team member made the update, which page was updated, and the date).
Azure DevOps doesn't appear to let you run queries on wiki pages within a project, which was my initial approach. I therefore need some markdown that will return a list of the above information (say, the last ten updates made to a specified page of the wiki and any of its sub-pages). Is this possible? Or is there a better way to get the result I'm after?
Display recent activity to a section of the wiki in an Azure DevOps project
I am afraid this is impossible at this moment.
If you want to return a list of the last ten updates made to a specified page of the wiki and any of its sub-pages, there is a option View Revisions, which you could get wiki page history:
Revision pages show who made the change along with the revision
message, date, and version or commit ID. To view details of a
revision, select the message or version link.
Check the document View wiki page history and revert changes for some more details.
But we could not get the update list for all wiki pages, just for one specify.
Besides, the functions supported by markdown are limited currently, AFAIK, we could not dynamic Wiki Content, if we need to list the update list for all wiki pages, it should be the dynamic content:
Check the user voice Add dynamic Wiki Content.
The way I can think of is that we could create a scripts to invoke REST API to return the updates made to a specified page of the wiki, then add the result to the markdown in the local, and push the changes to the Azure devops. But this will add a update message in the Wiki.
So, I am afraid this is impossible at this moment.
Hope this helps.
If you want to see recent wiki page changes, look in the DevOps Repos -> Commits page in the GUI.
I want to link to a line of code in such a way that the link will continue to work even when the file is updated in future commits.
In Github I would do this by pressing 'y' to move to a version of the page that includes the blob SHA:
https://github.com/rails/rails/blob/b49e38b76b0998b0a8312d8c08c98728d3de2006/activerecord/lib/arel/attributes/attribute.rb#L30
(Alternatively GitHub has a 'copy permalink' option in the '...' menu that appears in the margin when you select a line - documented here.)
Is there an equivalent in Azure DevOps?
The link that I get when I select a line has the form:
https://.../_git/project?path=XXXX&version=GBmaster&line=426&lineStyle=plain&lineEnd=427&lineStartColumn=1&lineEndColumn=1
Lots of parameters defining the selection but nothing pinning the file version.
Edit:
The below illustrations can be summarized in a few keyboard shortcuts.
Open the repo Files view using the 'e' global shortcut
Use 't' to put focus on the path selection to quickly navigate to the file in question
point 2 and 3 are order agnostic in relation to one another
Use 'y' to change the Files view to be based on the latest commit instead of on the branch
Make selection
Copy link as shown in illustration below
Browse files on the commit
Make sure you're browsing the entire source for the commit. Selecting lines when viewing the commit itself (ie AzDOs fancy git show) is for adding comments to the commit, but it doesn't help produce a link to the line # that version, nor is there a way (at least not that I could find) to get a link to the comment made on the line. Getting a link to a comment on a line in a commit might have been helpful to provide additional direct context to what is linked and why, but that's also not what you asked for.
don't click on the commit itself
make sure you're browsing all files as of a commit (not a branch)
Make selection
You should be able to select a line in the file contents and get a link to that line(s) in that version.
note: the link produced here is even more lengthy than the one you provided in your question.
Joy
When you navigate to the copied link, you will be directed to the commit and file contents with the line highlighted.
Understand, this link is bound to the commit you used to create it not to the tip of the branch. I expect this was how links are surfaced to be more sure that the link wouldn't break or lose context as the commit at the tip of the branch changes over time.
Thank you #JoshGust. For anyone else who wants the abbreviated version:
Files -->
(your repo branch) -->
History -->
Click A Commit hash/number (Latest/Head usually) -->
Browse Files -->
Your file -->
Select text & get a link.
Sheesh... quite some hoops to jump through, but glad it's possible.
To create a web (repository) link to a specific line from within your IDE, there are extensions with options to link to files, selections, to a branch or to a specific commit.
I am using these ones:
Editor
Plugin
Visual Studio Code
Git Web Links for VS Code
Visual Studio 2022
Git Web Links
I would like to create a "Revision page" where the people can see on what I've been working using GitHub there's an example about what I mean:
It is supposed to show the commits from my GitHub repository.
A) More information is required
Firstly, could you clarify if it is your intention to
Show the Commit history for a single repository, or
You wish to show your commit activity across multiple repositories
Also:
You wish to have this information displayed on Github, or
You
wish to have this information displayed on an external site.
B) Displaying information on GitHub
If the intention is a combination of 1 and 3, then my first suggestion would be to check the existing functionality of GitHub, which has such a feature built-in.
This can be accessed by navigating to your repository, and simply clicking the Commits button. An example of the results can be found here:
Example GitHub Commit History
C) Displaying information on an external site
As you mention that you have limited experience with PHP, I would certainly start by evaluating GitList:
GitList allows you to browse repositories using your favorite browser,
viewing files under different revisions, commit history and diffs.
GitList is free and open source software, written in PHP, on top of
Silex and the Twig template engine.
If you feel confident that you could create your own solution to display the information in an external web page, then you should begin by familiarising yourself with the GitHub Developer Documentation, and specifically:
List commits on a repository
It is also worth examining the following article and existing GitHub project in order to enhance your knowledge:
How to Use Github’s API with PHP (SitePòint Article with code)
GitHub PHP Client (GitHub Project)
It may be that you can clone one of these projects, strip it down to the features essential for your needs, and customise the UI.
I asked myself several times howto enhance the pull-request comment/answer+change code process. We are using bitbucket as git server frontend. When a user make comments in a pull request, he/she is commenting source code changes in the web gui of bitbucket.
Now the uncomfortable process comes in: When a user is reacting on the comments (e.g. by changing the code concerning to the comments), he allways needs to switch between the web gui of bitbucket and a text editor in order to apply the changes in code. "A lot" of time is used to find the correct location (especially when the line numbers are shifted because of inserts/deletes above in the file).
Question: Is there any desktop client (me I am interested in a window client) that supports pull request and displays the comments in an editable local file copy? I mean like in a diff viewer (K3Diff, TortoiseDiff, ...) where you see diffs (or in my case the pull request comments) and can make changes direct on the local working copy next the comments of the pull request?
I am looking for a GitHub PostCommit CodeReview tool which does the following:
Looking specifically for PostCommit CodeReview
Has LDap support
Displays git branches and files.
Select text and add comment. (like Google Doc)
Email all comments with selected snippet to user.
If you want a full web interface, you could go for something like Github Enterprise or Gitlab. Both really helpful applications for anything Git. You can basicly do the things you want in there. You can get an easy file browser of the repository, and add comments on specific lines of code.