I think if you are changing commits and/or branches a lot the submodules can end up dirty. An alternative approach is to descend into the submodule root directory and use git commands to work out why it's dirty and fix it but I've always found that more trouble than it's worth. YMMV. On Mon, Oct 17, 2022 at 10:52 PM John Zachary Dover <zac.dover@xxxxxxxxx> wrote: > > Here is an example of dealing with untracked files, which Brad discusses at the end of the most recent email in this thread: > >> [zdover@fedora src]$ git status >> On branch main >> Your branch is up to date with 'origin/main'. >> >> Untracked files: >> (use "git add <file>..." to include in what will be committed) >> jaegertracing/jaeger-client-cpp/ >> jaegertracing/opentracing-cpp/ >> jaegertracing/thrift/ >> >> nothing added to commit but untracked files present (use "git add" to track) >> [zdover@fedora src]$ cd jaegertracing/ >> [zdover@fedora jaegertracing]$ rm -rf jaeger-client-cpp/ >> [zdover@fedora jaegertracing]$ git submodule update --init --recursive >> [zdover@fedora jaegertracing]$ git status >> On branch main >> Your branch is up to date with 'origin/main'. >> >> Untracked files: >> (use "git add <file>..." to include in what will be committed) >> opentracing-cpp/ >> thrift/ >> >> nothing added to commit but untracked files present (use "git add" to track) >> [zdover@fedora jaegertracing]$ > > > You must change the present working directory to the parent directory of the target directory and then run "rm -rf target_directory/" and then run "git submodule update --init --recursive" in order to clean out the offending directory. This has to be done for each such directory. > > I do not know what causes the local working copy to get into this dirty state. (That's what it's called in the git-scm documentation: a "dirty state".) > > Zac > > On Wed, Oct 12, 2022 at 1:24 PM Brad Hubbard <bhubbard@xxxxxxxxxx> wrote: >> >> For untracked files (eg. src/pybind/cephfs/cephfs.c) all you need is >> 'git clean -fdx' which you ran last in this case. >> >> Just about everything can be solved by a combination of these commands. >> >> git submodule update --init --recursive >> git clean -fdx >> git submodule foreach git clean -fdx >> >> If you have files that show up in diff output that have unwanted >> changes you can also use 'git checkout .' or 'git checkout >> ./path/to/filename' to revert the changes. >> >> If you still have persistent problems with a submodule directory after >> that just rm the offending directory and run 'git submodule update >> --init --recursive' again. >> >> Also, rather than doing 'git checkout main; git pull' on main I would >> do 'git checkout main; git fetch origin/main; git reset --hard >> origin/main' as it's easy to get into a state where pull will fail. >> >> HTH. >> >> On Wed, Oct 12, 2022 at 12:40 PM John Zachary Dover <zac.dover@xxxxxxxxx> wrote: >> > >> > The following console output, which is far too long to include in >> > tutorial-style documentation that people are expected to read, shows the >> > sequence of commands necessary to diagnose and repair submodules that have >> > fallen out of sync with the submodules in the upstream repository. >> > >> > In this example, my local working copy has fallen out of sync. This will be >> > obvious to adepts, but this procedure does not need to be communicated to >> > them. >> > >> > This procedure was given to me by Brad Hubbard. >> > >> > Untracked files: >> > > (use "git add <file>..." to include in what will be committed) >> > > src/pybind/cephfs/build/ >> > > src/pybind/cephfs/cephfs.c >> > > src/pybind/cephfs/cephfs.egg-info/ >> > > src/pybind/rados/build/ >> > > src/pybind/rados/rados.c >> > > src/pybind/rados/rados.egg-info/ >> > > src/pybind/rbd/build/ >> > > src/pybind/rbd/rbd.c >> > > src/pybind/rbd/rbd.egg-info/ >> > > src/pybind/rgw/build/ >> > > src/pybind/rgw/rgw.c >> > > src/pybind/rgw/rgw.egg-info/ >> > > >> > > nothing added to commit but untracked files present (use "git add" to >> > > track) >> > > [zdover@fedora ceph]$ cd src/ >> > > [zdover@fedora src]$ ls >> > > arch cstart.sh nasm-wrapper >> > > auth dmclock neorados >> > > bash_completion doc objclass >> > > blk dokan objsync >> > > blkin erasure-code ocf >> > > btrfs_ioc_test.c etc-rbdmap os >> > > c-ares fmt osd >> > > cephadm global osdc >> > > ceph-clsinfo googletest perfglue >> > > ceph_common.sh include perf_histogram.h >> > > ceph.conf.twoosds init-ceph.in powerdns >> > > ceph-coverage.in init-radosgw ps-ceph.pl >> > > ceph-crash.in isa-l push_to_qemu.pl >> > > ceph-create-keys jaegertracing pybind >> > > ceph-debugpack.in java python-common >> > > ceph_fuse.cc journal rapidjson >> > > ceph.in json_spirit rbd_fuse >> > > ceph_mds.cc key_value_store rbdmap >> > > ceph_mgr.cc krbd.cc rbd_replay >> > > ceph_mon.cc kv rbd-replay-many >> > > ceph_osd.cc libcephfs.cc README >> > > ceph-osd-prestart.sh libcephsqlite.cc rgw >> > > ceph-post-file.in libkmip rocksdb >> > > ceph-rbdnamer librados s3select >> > > ceph_release librados-config.cc sample.ceph.conf >> > > ceph-run libradosstriper script >> > > ceph_syn.cc librbd seastar >> > > ceph_ver.c loadclass.sh SimpleRADOSStriper.cc >> > > ceph_ver.h.in.cmake log SimpleRADOSStriper.h >> > > ceph-volume logrotate.conf spawn >> > > civetweb mds spdk >> > > ckill.sh messages stop.sh >> > > client mgr telemetry >> > > cls mon test >> > > cls_acl.cc mount TODO >> > > cls_crypto.cc mount.fuse.ceph tools >> > > CMakeLists.txt mrgw.sh tracing >> > > cmonctl mrun vnewosd.sh >> > > common msg vstart.sh >> > > compressor mstart.sh xxHash >> > > crimson mstop.sh zstd >> > > crush multi-dump.sh >> > > crypto mypy.ini >> > > [zdover@fedora src]$ git checkout main >> > > Switched to branch 'main' >> > > Your branch is up to date with 'origin/main'. >> > > [zdover@fedora src]$ git pull >> > > Already up to date. >> > > [zdover@fedora src]$ git status >> > > On branch main >> > > Your branch is up to date with 'origin/main'. >> > > >> > > Untracked files: >> > > (use "git add <file>..." to include in what will be committed) >> > > pybind/cephfs/build/ >> > > pybind/cephfs/cephfs.c >> > > pybind/cephfs/cephfs.egg-info/ >> > > pybind/rados/build/ >> > > pybind/rados/rados.c >> > > pybind/rados/rados.egg-info/ >> > > pybind/rbd/build/ >> > > pybind/rbd/rbd.c >> > > pybind/rbd/rbd.egg-info/ >> > > pybind/rgw/build/ >> > > pybind/rgw/rgw.c >> > > pybind/rgw/rgw.egg-info/ >> > > >> > > nothing added to commit but untracked files present (use "git add" to >> > > track) >> > > [zdover@fedora src]$ >> > > >> > > [zdover@fedora ceph]$ git status >> > > On branch main >> > > Your branch is up to date with 'origin/main'. >> > > >> > > Untracked files: >> > > (use "git add <file>..." to include in what will be committed) >> > > src/pybind/cephfs/build/ >> > > src/pybind/cephfs/cephfs.c >> > > src/pybind/cephfs/cephfs.egg-info/ >> > > src/pybind/rados/build/ >> > > src/pybind/rados/rados.c >> > > src/pybind/rados/rados.egg-info/ >> > > src/pybind/rbd/build/ >> > > src/pybind/rbd/rbd.c >> > > src/pybind/rbd/rbd.egg-info/ >> > > src/pybind/rgw/build/ >> > > src/pybind/rgw/rgw.c >> > > src/pybind/rgw/rgw.egg-info/ >> > > >> > > nothing added to commit but untracked files present (use "git add" to >> > > track) >> > > [zdover@fedora ceph]$ git submodule update --force --init --recursive >> > > Submodule 'ceph-erasure-code-corpus' ( >> > > https://github.com/ceph/ceph-erasure-code-corpus.git) registered for path >> > > 'ceph-erasure-code-corpus' >> > > Submodule 'ceph-object-corpus' ( >> > > https://github.com/ceph/ceph-object-corpus.git) registered for path >> > > 'ceph-object-corpus' >> > > Submodule 'src/arrow' (https://github.com/apache/arrow.git) registered >> > > for path 'src/arrow' >> > > Submodule 'src/blkin' (https://github.com/ceph/blkin) registered for path >> > > 'src/blkin' >> > > Submodule 'src/c-ares' (https://github.com/ceph/c-ares.git) registered >> > > for path 'src/c-ares' >> > > Submodule 'src/crypto/isa-l/isa-l_crypto' ( >> > > https://github.com/intel/isa-l_crypto) registered for path >> > > 'src/crypto/isa-l/isa-l_crypto' >> > > Submodule 'src/dmclock' (https://github.com/ceph/dmclock.git) registered >> > > for path 'src/dmclock' >> > > Submodule 'src/erasure-code/jerasure/gf-complete' ( >> > > https://github.com/ceph/gf-complete.git) registered for path >> > > 'src/erasure-code/jerasure/gf-complete' >> > > Submodule 'src/erasure-code/jerasure/jerasure' ( >> > > https://github.com/ceph/jerasure.git) registered for path >> > > 'src/erasure-code/jerasure/jerasure' >> > > Submodule 'src/fmt' (https://github.com/ceph/fmt.git) registered for path >> > > 'src/fmt' >> > > Submodule 'src/googletest' (https://github.com/ceph/googletest) >> > > registered for path 'src/googletest' >> > > Submodule 'src/isa-l' (https://github.com/ceph/isa-l) registered for path >> > > 'src/isa-l' >> > > Submodule 'src/jaegertracing/opentelemetry-cpp' ( >> > > https://github.com/open-telemetry/opentelemetry-cpp.git) registered for >> > > path 'src/jaegertracing/opentelemetry-cpp' >> > > Submodule 'src/libkmip' (https://github.com/ceph/libkmip) registered for >> > > path 'src/libkmip' >> > > Submodule 'src/pybind/mgr/rook/rook-client-python' ( >> > > https://github.com/ceph/rook-client-python.git) registered for path >> > > 'src/pybind/mgr/rook/rook-client-python' >> > > Submodule 'src/rapidjson' (https://github.com/ceph/rapidjson) registered >> > > for path 'src/rapidjson' >> > > Submodule 'src/rocksdb' (https://github.com/ceph/rocksdb) registered for >> > > path 'src/rocksdb' >> > > Submodule 's3select' (https://github.com/ceph/s3select.git) registered >> > > for path 'src/s3select' >> > > Submodule 'src/seastar' (https://github.com/ceph/seastar.git) registered >> > > for path 'src/seastar' >> > > Submodule 'src/spawn' (https://github.com/ceph/spawn.git) registered for >> > > path 'src/spawn' >> > > Submodule 'src/spdk' (https://github.com/ceph/spdk.git) registered for >> > > path 'src/spdk' >> > > Submodule 'src/utf8proc' (https://github.com/JuliaStrings/utf8proc) >> > > registered for path 'src/utf8proc' >> > > Submodule 'src/xxHash' (https://github.com/ceph/xxHash.git) registered >> > > for path 'src/xxHash' >> > > Submodule 'src/zstd' (https://github.com/facebook/zstd) registered for >> > > path 'src/zstd' >> > > Cloning into '/home/zdover/Documents/ceph/ceph-erasure-code-corpus'... >> > > Cloning into '/home/zdover/Documents/ceph/ceph-object-corpus'... >> > > Cloning into '/home/zdover/Documents/ceph/src/arrow'... >> > > Cloning into '/home/zdover/Documents/ceph/src/blkin'... >> > > Cloning into '/home/zdover/Documents/ceph/src/c-ares'... >> > > Cloning into '/home/zdover/Documents/ceph/src/crypto/isa-l/isa-l_crypto'... >> > > Cloning into '/home/zdover/Documents/ceph/src/dmclock'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/erasure-code/jerasure/gf-complete'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/erasure-code/jerasure/jerasure'... >> > > Cloning into '/home/zdover/Documents/ceph/src/fmt'... >> > > Cloning into '/home/zdover/Documents/ceph/src/googletest'... >> > > Cloning into '/home/zdover/Documents/ceph/src/isa-l'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp'... >> > > Cloning into '/home/zdover/Documents/ceph/src/libkmip'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/pybind/mgr/rook/rook-client-python'... >> > > Cloning into '/home/zdover/Documents/ceph/src/rapidjson'... >> > > Cloning into '/home/zdover/Documents/ceph/src/rocksdb'... >> > > Cloning into '/home/zdover/Documents/ceph/src/s3select'... >> > > Cloning into '/home/zdover/Documents/ceph/src/seastar'... >> > > Cloning into '/home/zdover/Documents/ceph/src/spawn'... >> > > Cloning into '/home/zdover/Documents/ceph/src/spdk'... >> > > Cloning into '/home/zdover/Documents/ceph/src/utf8proc'... >> > > Cloning into '/home/zdover/Documents/ceph/src/xxHash'... >> > > Cloning into '/home/zdover/Documents/ceph/src/zstd'... >> > > Submodule path 'ceph-erasure-code-corpus': checked out >> > > '2d7d78b9cc52e8a9529d8cc2d2954c7d375d5dd7' >> > > Submodule path 'ceph-object-corpus': checked out >> > > '038c72b5acec667e1aca4c79a8cfcae705d766fe' >> > > Submodule path 'src/arrow': checked out >> > > '347a88ff9d20e2a4061eec0b455b8ea1aa8335dc' >> > > Submodule 'cpp/submodules/parquet-testing' ( >> > > https://github.com/apache/parquet-testing.git) registered for path >> > > 'src/arrow/cpp/submodules/parquet-testing' >> > > Submodule 'testing' (https://github.com/apache/arrow-testing) registered >> > > for path 'src/arrow/testing' >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/arrow/cpp/submodules/parquet-testing'... >> > > Cloning into '/home/zdover/Documents/ceph/src/arrow/testing'... >> > > Submodule path 'src/arrow/cpp/submodules/parquet-testing': checked out >> > > '600d437de0e8b0e9927c87e76f844a1b385b02e8' >> > > Submodule path 'src/arrow/testing': checked out >> > > 'a60b715263d9bbf7e744527fb0c084b693f58043' >> > > Submodule path 'src/blkin': checked out >> > > 'f24ceec055ea236a093988237a9821d145f5f7c8' >> > > Submodule path 'src/c-ares': checked out >> > > 'fd6124c74da0801f23f9d324559d8b66fb83f533' >> > > Submodule path 'src/crypto/isa-l/isa-l_crypto': checked out >> > > 'a6dc869666fca3eef9a0305b290e4e0fc8bac645' >> > > Submodule path 'src/dmclock': checked out >> > > 'e4ccdcfa828c84b8ea775a928118f2b8012d0f42' >> > > Submodule path 'src/erasure-code/jerasure/gf-complete': checked out >> > > '7e61b44404f0ed410c83cfd3947a52e88ae044e1' >> > > Submodule path 'src/erasure-code/jerasure/jerasure': checked out >> > > '96c76b89d661c163f65a014b8042c9354ccf7f31' >> > > Submodule path 'src/fmt': checked out >> > > 'b6f4ceaed0a0a24ccf575fab6c56dd50ccf6f1a9' >> > > Submodule path 'src/googletest': checked out >> > > '389cb68b87193358358ae87cc56d257fd0d80189' >> > > Submodule path 'src/isa-l': checked out >> > > 'bee5180a1517f8b5e70b02fcd66790c623536c5d' >> > > Submodule path 'src/jaegertracing/opentelemetry-cpp': checked out >> > > '9f3a8eeb1952c75d6d5f74aa4c5e6ed21e1318a8' >> > > Submodule 'third_party/benchmark' (https://github.com/google/benchmark) >> > > registered for path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/benchmark' >> > > Submodule 'third_party/googletest' (https://github.com/google/googletest) >> > > registered for path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/googletest' >> > > Submodule 'third_party/ms-gsl' (https://github.com/microsoft/GSL) >> > > registered for path 'src/jaegertracing/opentelemetry-cpp/third_party/ms-gsl' >> > > Submodule 'third_party/nlohmann-json' (https://github.com/nlohmann/json) >> > > registered for path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json' >> > > Submodule 'third_party/opentelemetry-proto' ( >> > > https://github.com/open-telemetry/opentelemetry-proto) registered for >> > > path 'src/jaegertracing/opentelemetry-cpp/third_party/opentelemetry-proto' >> > > Submodule 'third_party/prometheus-cpp' ( >> > > https://github.com/jupp0r/prometheus-cpp) registered for path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp' >> > > Submodule 'tools/vcpkg' (https://github.com/Microsoft/vcpkg) registered >> > > for path 'src/jaegertracing/opentelemetry-cpp/tools/vcpkg' >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/benchmark'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/googletest'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/ms-gsl'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/opentelemetry-proto'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg'... >> > > Submodule path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/benchmark': checked out >> > > 'c05843a9f622db08ad59804c190f98879b76beba' >> > > Submodule path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/googletest': checked out >> > > 'a6dfd3aca7f2f91f95fc7ab650c95a48420d513d' >> > > Submodule path 'src/jaegertracing/opentelemetry-cpp/third_party/ms-gsl': >> > > checked out '6f4529395c5b7c2d661812257cd6780c67e54afa' >> > > Submodule path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/nlohmann-json': checked >> > > out '4f8fba14066156b73f1189a2b8bd568bde5284c5' >> > > Submodule path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/opentelemetry-proto': >> > > checked out '5c2fe5ddbd9fb9f3e08f31d20f7566a3ee3d8885' >> > > Submodule path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp': checked >> > > out '4ea303fa66e4c26dc4df67045fa0edf09c2f3077' >> > > Submodule 'civetweb' (https://github.com/civetweb/civetweb.git) >> > > registered for path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb' >> > > Submodule 'googletest' (https://github.com/google/googletest.git) >> > > registered for path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest' >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb'... >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest'... >> > > Submodule path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/civetweb': >> > > checked out 'eefb26f82b233268fc98577d265352720d477ba4' >> > > Submodule path >> > > 'src/jaegertracing/opentelemetry-cpp/third_party/prometheus-cpp/3rdparty/googletest': >> > > checked out 'e2239ee6043f73722e7aa812a459f54a28552929' >> > > Submodule path 'src/jaegertracing/opentelemetry-cpp/tools/vcpkg': checked >> > > out '5568f110b509a9fd90711978a7cb76bae75bb092' >> > > Submodule path 'src/libkmip': checked out >> > > 'b25cde94c9b8686988ed1236bd807afe74991333' >> > > Submodule path 'src/pybind/mgr/rook/rook-client-python': checked out >> > > '82673cd7c7a3f4919b98706985ff27e57d2c1b94' >> > > Submodule path 'src/rapidjson': checked out >> > > 'e4bde977440d4a00f820b6586899e48a972d2493' >> > > Submodule 'thirdparty/gtest' (https://github.com/google/googletest.git) >> > > registered for path 'src/rapidjson/thirdparty/gtest' >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/rapidjson/thirdparty/gtest'... >> > > Submodule path 'src/rapidjson/thirdparty/gtest': checked out >> > > 'ba96d0b1161f540656efdaed035b3c062b60e006' >> > > Submodule path 'src/rocksdb': checked out >> > > 'c540de6f709b66efd41436694f72d6f7986a325b' >> > > remote: Enumerating objects: 1, done. >> > > remote: Counting objects: 100% (1/1), done. >> > > remote: Total 1 (delta 1), reused 1 (delta 1), pack-reused 0 >> > > Unpacking objects: 100% (1/1), 59 bytes | 59.00 KiB/s, done. >> > > From https://github.com/ceph/s3select >> > > * branch 825598ac92dfb889a2107b85d461e9e673838450 -> >> > > FETCH_HEAD >> > > Submodule path 'src/s3select': checked out >> > > '825598ac92dfb889a2107b85d461e9e673838450' >> > > Submodule path 'src/seastar': checked out >> > > 'f8d773989fccdf8915260ac4675c4b02e14a57eb' >> > > Submodule 'dpdk' (https://github.com/ceph/dpdk) registered for path >> > > 'src/seastar/dpdk' >> > > Cloning into '/home/zdover/Documents/ceph/src/seastar/dpdk'... >> > > Submodule path 'src/seastar/dpdk': checked out >> > > '0f486994114dbc68da07e7345674f7d83b54e0fc' >> > > Submodule path 'src/spawn': checked out >> > > '9ee6d12f35ab2fa48b469f13b4830a5e5cfde45e' >> > > Submodule 'test/dependency/googletest' ( >> > > https://github.com/google/googletest.git) registered for path >> > > 'src/spawn/test/dependency/googletest' >> > > Cloning into >> > > '/home/zdover/Documents/ceph/src/spawn/test/dependency/googletest'... >> > > Submodule path 'src/spawn/test/dependency/googletest': checked out >> > > '565f1b848215b77c3732bca345fe76a0431d8b34' >> > > Submodule path 'src/spdk': checked out >> > > '1a527e501f810e2b39b9862c96f3e8bdc465db80' >> > > Submodule 'dpdk' (https://github.com/spdk/dpdk.git) registered for path >> > > 'src/spdk/dpdk' >> > > Submodule 'intel-ipsec-mb' (https://github.com/spdk/intel-ipsec-mb.git) >> > > registered for path 'src/spdk/intel-ipsec-mb' >> > > Submodule 'isa-l' (https://github.com/spdk/isa-l.git) registered for path >> > > 'src/spdk/isa-l' >> > > Submodule 'ocf' (https://github.com/Open-CAS/ocf.git) registered for path >> > > 'src/spdk/ocf' >> > > Cloning into '/home/zdover/Documents/ceph/src/spdk/dpdk'... >> > > Cloning into '/home/zdover/Documents/ceph/src/spdk/intel-ipsec-mb'... >> > > Cloning into '/home/zdover/Documents/ceph/src/spdk/isa-l'... >> > > Cloning into '/home/zdover/Documents/ceph/src/spdk/ocf'... >> > > Submodule path 'src/spdk/dpdk': checked out >> > > 'a38450c5ae4a20f6966872b1a4f5d797c65951d7' >> > > Submodule path 'src/spdk/intel-ipsec-mb': checked out >> > > '997d553615b5b75b309093b359d8710d8d2f11c8' >> > > Submodule path 'src/spdk/isa-l': checked out >> > > 'f3993f5c0b69118a229c2dfbb360515cd34a24e6' >> > > Submodule path 'src/spdk/ocf': checked out >> > > '9d0795564082b5dfb489ab3fc2fa22cb1538ab85' >> > > Submodule path 'src/utf8proc': checked out >> > > '97ef668b312b96382714dbb8eaac4affce0816e6' >> > > Submodule path 'src/xxHash': checked out >> > > '1f40c6511fa8dd9d2e337ca8c9bc18b3e87663c9' >> > > Submodule path 'src/zstd': checked out >> > > 'b706286adbba780006a47ef92df0ad7a785666b6' >> > > [zdover@fedora ceph]$ git status >> > > On branch main >> > > Your branch is up to date with 'origin/main'. >> > > >> > > Untracked files: >> > > (use "git add <file>..." to include in what will be committed) >> > > src/pybind/cephfs/build/ >> > > src/pybind/cephfs/cephfs.c >> > > src/pybind/cephfs/cephfs.egg-info/ >> > > src/pybind/rados/build/ >> > > src/pybind/rados/rados.c >> > > src/pybind/rados/rados.egg-info/ >> > > src/pybind/rbd/build/ >> > > src/pybind/rbd/rbd.c >> > > src/pybind/rbd/rbd.egg-info/ >> > > src/pybind/rgw/build/ >> > > src/pybind/rgw/rgw.c >> > > src/pybind/rgw/rgw.egg-info/ >> > > >> > > nothing added to commit but untracked files present (use "git add" to >> > > track) >> > > [zdover@fedora ceph]$ git clean -fdx >> > > Removing build-doc/ >> > > Removing doc/_ext/__pycache__/ >> > > Removing doc/dev/peering_graph.generated.dot >> > > Removing doc/scripts/__pycache__/ >> > > Removing src/java/doc/ >> > > Removing src/pybind/__pycache__/ >> > > Removing src/pybind/cephfs/build/ >> > > Removing src/pybind/cephfs/cephfs.c >> > > Removing src/pybind/cephfs/cephfs.egg-info/ >> > > Removing src/pybind/mgr/__pycache__/ >> > > Removing src/pybind/mgr/alerts/__pycache__/ >> > > Removing src/pybind/mgr/balancer/__pycache__/ >> > > Removing src/pybind/mgr/cephadm/__pycache__/ >> > > Removing src/pybind/mgr/cephadm/services/__pycache__/ >> > > Removing src/pybind/mgr/cli_api/__pycache__/ >> > > Removing src/pybind/mgr/crash/__pycache__/ >> > > Removing src/pybind/mgr/dashboard/__pycache__/ >> > > Removing src/pybind/mgr/dashboard/api/__pycache__/ >> > > Removing src/pybind/mgr/dashboard/controllers/__pycache__/ >> > > Removing src/pybind/mgr/dashboard/plugins/__pycache__/ >> > > Removing src/pybind/mgr/dashboard/services/__pycache__/ >> > > Removing src/pybind/mgr/devicehealth/__pycache__/ >> > > Removing src/pybind/mgr/diskprediction_local/__pycache__/ >> > > Removing src/pybind/mgr/feedback/__pycache__/ >> > > Removing src/pybind/mgr/hello/__pycache__/ >> > > Removing src/pybind/mgr/influx/__pycache__/ >> > > Removing src/pybind/mgr/insights/__pycache__/ >> > > Removing src/pybind/mgr/iostat/__pycache__/ >> > > Removing src/pybind/mgr/k8sevents/__pycache__/ >> > > Removing src/pybind/mgr/localpool/__pycache__/ >> > > Removing src/pybind/mgr/mds_autoscaler/__pycache__/ >> > > Removing src/pybind/mgr/mirroring/__pycache__/ >> > > Removing src/pybind/mgr/mirroring/fs/__pycache__/ >> > > Removing src/pybind/mgr/mirroring/fs/dir_map/__pycache__/ >> > > Removing src/pybind/mgr/nfs/__pycache__/ >> > > Removing src/pybind/mgr/orchestrator/__pycache__/ >> > > Removing src/pybind/mgr/osd_perf_query/__pycache__/ >> > > Removing src/pybind/mgr/osd_support/__pycache__/ >> > > Removing src/pybind/mgr/pg_autoscaler/__pycache__/ >> > > Removing src/pybind/mgr/progress/__pycache__/ >> > > Removing src/pybind/mgr/prometheus/__pycache__/ >> > > Removing src/pybind/mgr/rbd_support/__pycache__/ >> > > Removing src/pybind/mgr/restful/__pycache__/ >> > > Removing src/pybind/mgr/rgw/__pycache__/ >> > > Removing src/pybind/mgr/rook/__pycache__/ >> > > Removing src/pybind/mgr/selftest/__pycache__/ >> > > Removing src/pybind/mgr/snap_schedule/__pycache__/ >> > > Removing src/pybind/mgr/snap_schedule/fs/__pycache__/ >> > > Removing src/pybind/mgr/stats/__pycache__/ >> > > Removing src/pybind/mgr/stats/fs/__pycache__/ >> > > Removing src/pybind/mgr/status/__pycache__/ >> > > Removing src/pybind/mgr/telegraf/__pycache__/ >> > > Removing src/pybind/mgr/telemetry/__pycache__/ >> > > Removing src/pybind/mgr/test_orchestrator/__pycache__/ >> > > Removing src/pybind/mgr/tests/__pycache__/ >> > > Removing src/pybind/mgr/volumes/__pycache__/ >> > > Removing src/pybind/mgr/volumes/fs/__pycache__/ >> > > Removing src/pybind/mgr/volumes/fs/operations/__pycache__/ >> > > Removing src/pybind/mgr/volumes/fs/operations/versions/__pycache__/ >> > > Removing src/pybind/mgr/zabbix/__pycache__/ >> > > Removing src/pybind/rados/build/ >> > > Removing src/pybind/rados/rados.c >> > > Removing src/pybind/rados/rados.egg-info/ >> > > Removing src/pybind/rbd/build/ >> > > Removing src/pybind/rbd/rbd.c >> > > Removing src/pybind/rbd/rbd.egg-info/ >> > > Removing src/pybind/rgw/build/ >> > > Removing src/pybind/rgw/rgw.c >> > > Removing src/pybind/rgw/rgw.egg-info/ >> > > Removing src/python-common/build/ >> > > Removing src/python-common/ceph.egg-info/ >> > > Removing src/python-common/ceph/__pycache__/ >> > > Removing src/python-common/ceph/deployment/__pycache__/ >> > > Removing src/python-common/ceph/deployment/drive_selection/__pycache__/ >> > > Removing src/python-common/ceph/rgw/__pycache__/ >> > > [zdover@fedora ceph]$ git submodule foreach git clean -fdx >> > > Entering 'ceph-erasure-code-corpus' >> > > Entering 'ceph-object-corpus' >> > > Entering 'src/arrow' >> > > Entering 'src/blkin' >> > > Entering 'src/c-ares' >> > > Entering 'src/crypto/isa-l/isa-l_crypto' >> > > Entering 'src/dmclock' >> > > Entering 'src/erasure-code/jerasure/gf-complete' >> > > Entering 'src/erasure-code/jerasure/jerasure' >> > > Entering 'src/fmt' >> > > Entering 'src/googletest' >> > > Entering 'src/isa-l' >> > > Entering 'src/jaegertracing/opentelemetry-cpp' >> > > Entering 'src/libkmip' >> > > Entering 'src/pybind/mgr/rook/rook-client-python' >> > > Entering 'src/rapidjson' >> > > Entering 'src/rocksdb' >> > > Entering 'src/s3select' >> > > Entering 'src/seastar' >> > > Entering 'src/spawn' >> > > Entering 'src/spdk' >> > > Entering 'src/utf8proc' >> > > Entering 'src/xxHash' >> > > Entering 'src/zstd' >> > > [zdover@fedora ceph]$ git diff >> > > [zdover@fedora ceph]$ git status >> > > On branch main >> > > Your branch is up to date with 'origin/main'. >> > > >> > > nothing to commit, working tree clean >> > > [zdover@fedora ceph]$ >> > > >> > >> > Zac Dover >> > Upstream Docs >> > Ceph Foundation >> > >> > >> > On Thu, Jan 7, 2021 at 1:16 AM John Zachary Dover <zac.dover@xxxxxxxxx> >> > wrote: >> > >> > > I'm working on some improvements to the Developer Guide. One of those is a >> > > section that explains more clearly to people new to Ceph how to know that >> > > your submodules are out of date and what to do when they are. >> > > >> > > The following location (inb4 I know that this is not the optimal place for >> > > this information, which is the whole point of this exercise) explains how >> > > to update submodules: >> > > >> > > https://docs.ceph.com/en/latest/install/clone-source/?highlight=update%20submodules#clone-the-source >> > > >> > > Sometimes in my local repo, I get the following messages after I run "$ >> > > git reset --hard ceph/master", and I'd like to understand what's going on >> > > here, and whether I should expect the submodule-updating procedure to >> > > remedy it: >> > > >> > > zdover@zdover-ThinkPad-T530:~/Documents/ceph/src$ git status >> > > On branch master >> > > Your branch is up to date with 'remotes/origin/master'. >> > > >> > > Untracked files: >> > > (use "git add <file>..." to include in what will be committed) >> > > >> > > lua/ >> > > >> > > nothing added to commit but untracked files present (use "git add" to >> > > track) >> > > >> > > Any insight into this matter is welcome. >> > > >> > > Thanks, >> > > >> > > Zac Dover >> > > Upstream Docs >> > > Ceph Foundation >> > > >> > _______________________________________________ >> > ceph-users mailing list -- ceph-users@xxxxxxx >> > To unsubscribe send an email to ceph-users-leave@xxxxxxx >> > >> >> >> -- >> Cheers, >> Brad >> -- Cheers, Brad _______________________________________________ ceph-users mailing list -- ceph-users@xxxxxxx To unsubscribe send an email to ceph-users-leave@xxxxxxx