Am 10.06.19 um 11:31 schrieb Felix Schumacher: > Am 10.06.19 um 10:14 schrieb Vladimir Sitnikov: >> Felix>My problem here is, that I sometimes checkout a historic version and >> Felix>can't get away from it, as git complains that the files have changed >> >> Please provide the exact steps to reproduce. >> So far git checkout v213 V2_13; git checkout master; works for me just fine >> when using Windows/macOS > Under ubuntu 18.04 I used the following steps: > > $ mkdir test > $ cd test > $ git clone https://github.com/apache/jmeter > > Cloning into 'jmeter'... > remote: Enumerating objects: 191859, done. > remote: Total 191859 (delta 0), reused 0 (delta 0), pack-reused 191859 > Receiving objects: 100% (191859/191859), 88.72 MiB | 5.46 MiB/s, done. > Resolving deltas: 100% (102811/102811), done. > > $ cd jmeter > $ git checkout v2_13 > > error: Your local changes to the following files would be overwritten by > checkout: > > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.min.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.source.js > bin/report-template/sbadmin2-1.0.7/bower_components/flot/excanvas.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.colorhelpers.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.canvas.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.categories.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.crosshair.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.errorbars.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.fillbetween.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.image.js > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.navigate.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.resize.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.selection.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.stack.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.symbol.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.threshold.js > > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.time.js > > bin/report-template/sbadmin2-1.0.7/bower_components/font-awesome/css/font-awesome.css > > bin/report-template/sbadmin2-1.0.7/bower_components/font-awesome/css/font-awesome.min.css > > bin/report-template/sbadmin2-1.0.7/bower_components/metisMenu/dist/metisMenu.min.css > > bin/report-template/sbadmin2-1.0.7/bower_components/metisMenu/dist/metisMenu.min.js > bin/report-template/sbadmin2-1.0.7/dist/css/sb-admin-2.css > bin/report-template/sbadmin2-1.0.7/dist/js/sb-admin-2.js > Please commit your changes or stash them before you switch branches. > Aborting > > $ git status > > On branch master > Your branch is up to date with 'origin/master'. > > Changes not staged for commit: > (use "git add <file>..." to update what will be committed) > (use "git checkout -- <file>..." to discard changes in working directory) > > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.min.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.source.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/excanvas.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.colorhelpers.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.canvas.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.categories.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.crosshair.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.errorbars.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.fillbetween.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.image.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.navigate.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.resize.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.selection.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.stack.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.symbol.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.threshold.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/flot/jquery.flot.time.js > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/font-awesome/css/font-awesome.css > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/font-awesome/css/font-awesome.min.css > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/metisMenu/dist/metisMenu.min.css > modified: > bin/report-template/sbadmin2-1.0.7/bower_components/metisMenu/dist/metisMenu.min.js > modified: bin/report-template/sbadmin2-1.0.7/dist/css/sb-admin-2.css > modified: bin/report-template/sbadmin2-1.0.7/dist/js/sb-admin-2.js > > no changes added to commit (use "git add" and/or "git commit -a") > > $ git diff > > $ git diff | head > warning: CRLF will be replaced by LF in > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.js. > The file will have its original line endings in your working directory. > warning: CRLF will be replaced by LF in > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.js. > The file will have its original line endings in your working directory. > warning: CRLF will be replaced by LF in > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.min.js. > The file will have its original line endings in your working directory. > warning: CRLF will be replaced by LF in > bin/report-template/sbadmin2-1.0.7/bower_components/flot.tooltip/js/jquery.flot.tooltip.source.js. > The file will have its original line endings in your working directory. > warning: CRLF will be replaced by LF in > bin/report-template/sbadmin2-1.0.7/bower_components/flot/excanvas.js. > The file will have its original line endings in your working directory. > ... > > $ git config -l > > push.default=simple > alias.tree=log --graph --decorate --pretty=oneline --abbrev-commit > core.repositoryformatversion=0 > core.filemode=true > core.bare=false > core.logallrefupdates=true > remote.origin.url=https://github.com/apache/jmeter > remote.origin.fetch=+refs/heads/*:refs/remotes/origin/* > branch.master.remote=origin > branch.master.merge=refs/heads/master > > Tell me, if you need more info.
Looking a bit further into this. If I set core.autocrlf to input with $ git config --global core.autocrlf=input the checkout works. Did you have this config setting enabled? Felix > >> Felix>Yes, for future versions of our source, that would be a nice >> enhancement. >> >> I've kept all the css, js, etc files. >> I've ran pngquant (2.12.2, January 2018, libpng 1.6.37) through all the >> historical commits. >> >> It results in 53MiB repository (it was 40 when historical png were just >> removed). > Thanks for your work. I really think it is better to keep those old > images (and if they are quant'ed, all the better). > > The 53 MiB is the amount of space they use, right? So compared to > removal we pay 13 MiB for keeping old images? > >> Hopefully multi-megabyte files won't be pushed to the repository, and I >> hope JS/CSS dependencies would be managed though Webpack (or whatever). >> I guess "component UI" images can be generated automatically at build time, >> however that's a side discussion. > +1 to both. But I think the generation of component UI will be more > complicated. >> The updated repository: https://github.com/apache/jmeter >> SVN references are good, >> Git references are good. >> Travis build passes ( https://travis-ci.org/apache/jmeter/builds/543612661 ) >> >> Note: migrate procedure is updated. The key change is you need my release >> of BFG. >> See https://github.com/vlsi/jmeter-git-cleanup/tree/v2.1.1/clean_fork >> >> >> PS In fact, references to "old" Git commit ids would be more or less >> useless without "old Git repo". >> I just thought we could create a "readonly" Git repo, and use links that >> point to commits in that repository instead of just current "commit ids". >> Any thoughts on that? It can be done quite easily (I use my own build of >> BFG anyway, so I can add http://github.com/apache/jmeter-svn-mirror/... >> there) >> On the other hand, I'm +-0 about that since I think the new Git repo is >> just fine, and just commit id is sufficient for the search purposes. > Were are those references used (I suspect in old PRs and bugzilla > entries)? Most of the referenced commits can be identified by their svn > revision, which is embedded in the old commit messages, though. > > So I don't think this is a big problem. > >> Vladimir >>
