Simpler channel iterator
Dependencies
- [2]
EUZFFJSOUpdating Pijul with the latest changes in Libpijul - [3]
FXEDPLRIResurrecting tests, and type cleanup (no need for Arc<RwLock<…>> anymore) - [4]
L5JW24DBChannel drops were not checking whether forks done in the same transaction before dropping unused patches - [5]
YN63NUZOSanakirja 1.0 - [6]
SXEYMYF7Fixing the bad changes in history (unfortunately, by rebooting). - [7]
NGCTMCDPcleaning up the deps and revdeps of unused changes after a channel drop - [8]
RRCSHAYZFormatting - [9]
G6YXRFH2Channel drop with tags - [10]
QL6K2ZM3Tags - [11]
A3RM526YIntegrating identity malleability - [12]
I24UEJQLVarious post-fire fixes - [13]
5OGOE4VWStore the current channel in the pristine - [14]
CCLLB7OIUpgrading to Sanakirja 0.15 + version bump - [15]
VQPAUKBQchannel switch as an alias to reset
Change contents
- replacement in libpijul/src/pristine/sanakirja.rs at line 1316[5.25125]→[5.47694:47722](∅→∅),[5.27704]→[5.47694:47722](∅→∅),[5.79139]→[5.47694:47722](∅→∅),[5.551813]→[5.47694:47722](∅→∅)
fn iter_channels<'txn>(fn channels<'txn>( - replacement in libpijul/src/pristine/sanakirja.rs at line 1319
) -> Result<ChannelIterator<'txn, Self>, TxnErr<Self::GraphError>> {) -> Result<Vec<ChannelRef<Self>>, TxnErr<Self::GraphError>> { - replacement in libpijul/src/pristine/sanakirja.rs at line 1323
Ok(ChannelIterator { cursor, txn: self })while let Ok(Some((name, _))) = self.cursor_channels_next(&mut cursor) {self.load_channel(name.as_str())?;}Ok(self.open_channels.lock().iter().map(|(_, x)| x.clone()).collect()) - replacement in libpijul/src/pristine/sanakirja.rs at line 1967
let mut it0 = self.iter_channels("").map_err(|e| e.0)?;let it1 = self.open_channels.lock();let mut it1 = it1.iter();loop {let (name, chan) = if let Some(chan) = it0.next() {chan.map_err(|e| e.0)?} else if let Some((name, chan)) = it1.next() {(name.as_ref(), chan.clone())} else {break};for chan in self.channels("").map_err(|e| e.0)? { - edit in libpijul/src/pristine/sanakirja.rs at line 1969
assert_ne!(name.as_str(), name0); - edit in libpijul/src/pristine/sanakirja.rs at line 1970
assert_ne!(chan.name.as_str(), name0); - replacement in libpijul/src/pristine/mod.rs at line 648
fn iter_channels<'txn>(fn channels<'txn>( - replacement in libpijul/src/pristine/mod.rs at line 651
) -> Result<ChannelIterator<'txn, Self>, TxnErr<Self::GraphError>>;) -> Result<Vec<ChannelRef<Self>>, TxnErr<Self::GraphError>>; - replacement in libpijul/src/unrecord/mod.rs at line 123[3.933]→[5.23537:23576](∅→∅),[5.29942]→[5.23537:23576](∅→∅),[5.233731]→[5.23537:23576](∅→∅),[5.23576]→[5.29943:30022](∅→∅)
for br in txn.iter_channels("")? {let (name, br) = br?;if name.as_str() == txn.name(&channel) {for br in txn.channels("")? {let br = br.read();if txn.name(&br) == txn.name(&channel) { - edit in libpijul/src/unrecord/mod.rs at line 128
let br = br.read(); - replacement in pijul/src/commands/channel.rs at line 45
for channel in txn.iter_channels("")? {let (_, channel) = channel?;for channel in txn.channels("")? {